Hiển thị các bài đăng có nhãn WhiteHat và Hacking. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn WhiteHat và Hacking. Hiển thị tất cả bài đăng

Chủ Nhật, 24 tháng 5, 2020

Bypass là gì?

Trong lập trình sử dụng tới database, mysql, sqlsever,... khi xử lý code phần sever bạn thường nghe thuật ngữ Bypass trong đăng nhập.

Nay mình viết bài này giúp các bạn hiểu rõ hơn thuật ngữ Bypass này hơn.

bypass-la-gi-trong-login-dang-nhap.jpg

1. Bypass là gì?
  • Bypass là thuật ngữ dùng để chỉ cách vượt qua cổng đăng nhập, login của hệ thống websitephần mềm,... nào đó.
  • Hacker sử dụng các thủ thuật trên cổng kết nối để đăng nhập vào tài khoản admin, tài khoản quản trị mà không cần mật khẩu và user chính xác.
2. Bypass hoạt động như thế nào?
  • Trong lập trình web, phần mềm, application chúng ta thường lập trình theo trình tự: tầng giao diện (tầng người dùng nhìn thấy, giao diện web, ứng dụng word, excel,..), tầng code behind (Code C#, C++, PHP, Java,..), tầng xử lý cơ sở dữ liệu (sql, mysql, oracle, LingQ, Access...). Ngoài ra lập trình viên còn sử dụng các mô hình như: mô hình 3 lớpmô hình MVC,..
  • Khi ta sử dụng các mô hình, hay các tầng giao diện trên phần quản trị dữ liệu, bảo mật dữ liệu là phần không thể thiếu của 1 hệ thống hoặc 1 website. Phần quản trị này hầu hết phải sử lý các sự kiện đăng nhậplogin để chống hacker lấy và phá dữ liệu bảo mật. Xử lý đăng nhập được mã hóa bởi UserName (tên đăng nhập) và Password (mật khẩu).
VD: 1 trang login như sau để đăng nhập vào quan trị dữ liệu
Mã:
https://itseovn.com/demo/login/index.html
Ví dụ 1 đoạn code và cách bypass như sau:
  • Code trong sql xử lý truyền thông tin uesername và password.
Mã:
select * from username where username=' "  +  @username + " ' and password=' "  +  @password + " '
  • Xử lý xong câu lệnh trên ta sẽ cho dữ liệu vào 1 datatable hoặc datarow. Sau đó xử lý dữ liệu này như sau:
Mã:
DataTable dt = new DataTable();
dt=..... câu lệnh kết nối lấy dữ liệu từ SQL trên.
if(dt.rows.count >0)
{
          //truy cập vào trang quản trị dữ liệu.
}
else
{
         //báo lỗi không đúng username mật khẩu.
}
Diễn giải code:
  • Khi code truyền vào SQL với 2 tham số người dùng nhập vào là @username=123456 và @password=654321, nếu có dữ liệu thì DataTable dt sẽ có 1 dòng dữ liệu (có thể có 1 hoặc 2 vì nhiều khi dữ liệu bạn bị lỗi gì đó). Và câu SQL sẽ được truy cập là:
Mã:
select * from username where username=' 123456 ' and password='654321'
  • Lệnh if sẽ kiểm tra nếu có dữ liệu thì cho phép truy cập vào trang quản trị dữ liệu, bảo mật thông tin. Còn sai sẽ thông báo không đúng thông tin tài khoản.
Bypass sẽ thực hiện tại bước này.
  • Với câu SQL trên thay vì người dùng nhập @username và @password như trên, người dùng sẽ nhập khác là
Mã:
@username=123456 và @password='  or '1'='1
  • Câu SQL sẽ bị đổi là:
Mã:
select * from username where username = ' 123456 ' and password = ' ' or '1'='1'
  • Câu SQL này có nghĩa là không cần quan tâm tới username và passowrd nhập vào chỉ cần 1=1 là sẽ cho ra 1 dòng dữ liệu (1 thì lúc nào mà không bằng 1), nên câu lệnh luôn đúng.
  • Code trong lệnh IF kiểm tra có dữ liệu và cho truy cập vào tài quản quản trị dữ liệu (thế là hacker có thể làm bất kỳ điều gì mình muốn với tài khoản này).
Điều kiện khác của '1'='1':

Ngoài điều kiện '1'='1' ra ta có thể chế thêm các điều kiện khác như:
  • '1' <> '0' : nghĩa là nếu 1 khác 0, 1 không phải là số 0 (1 lúc nào cũng khác không và không phải là số 0 rồi).
  • 2 > 1 : 2 lớn hơn 1.
  • 'b' = 'b' ,... và hàng ngàn, hàng tỷ cách viết khác.
Bypass khác:
  • Dấu -- trong sql và mysql được hiểu là chú thích, không xử lý tới dữ liệu sau dấu -- này.
  • Chính vì dấu -- ta có thể tùy biến thêm để câu lệnh ' or '1'='1 không có khả năng bị lỗi và có thêm các lệnh xử lý phía sau bằng cách chèn thêm như sau: ' or '1'='1 --
  • Truyền thêm ' or '1'='1 -- thì SQL sẽ được đổi như sau:

Thứ Bảy, 23 tháng 5, 2020

Hướng dẫn viết công cụ dò quét cổng bằng Python

Dò quét cổng, dịch vụ (Port scanner) là thuật ngữ dùng để chỉ việc sử dụng một công cụ để xác định các cổng mở trên máy chủ. Các công cụ dò quét cổng này được sử dụng bởi tin tặc để xác định các dịch vụ mạng đang được chạy trên máy chủ đích, từ đó xác định các phương thức tấn công có thể có liên quan. Các công cụ dò quyét cổng sẽ gửi một vài yêu cầu đến máy chủ để xác định xem cổng này có đang tồn tại trên máy chủ hay không. Mặc dù bản thân nó không phải là một hoạt động mạng độc hại, nhưng đây cũng là một phương tiện quan trọng để những kẻ tấn công mạng phát hiện dịch vụ máy chủ mục tiêu để khai thác các lỗ hổng đã biết của dịch vụ. Mục đích chính của quét cổng vẫn là xác nhận tính khả dụng của dịch vụ trên máy chủ.

Nguyên tắc thực hiện
Đa số các công cụ quét cổng đều dựa trên nguyên tắc của quá trình bắt tay TCP. Công cụ quét cổng đơn giản nhất sử dụng phương pháp quét kết nối TCP, sử dụng các chức năng mạng được tích hợp sẵn của hệ điều hành và thường được sử dụng như là một phương pháp thay thế cho quét SYN. Nmap gọi chế độ này là quét kết nối, bởi vì nó sử dụng lệnh connect() giống như Unix. Nếu cổng được mở, hệ điều hành có thể hoàn thành bắt tay ba bước TCP và sau đó công cụ quét cổng sẽ ngay lập tức đóng kết nối mới được thiết lập để ngăn chặn các cuộc tấn công từ chối dịch vụ. Ưu điểm của chế độ quét này là người dùng không cần quyền đặc biệt. Tuy nhiên, sử dụng toàn bộ quá trình bắt tay TCP rất dễ gây ra sự phát hiện bởi các công cụ phát hiện xâm nhập, do đó dò quét cổng dựa trên việc hoàn thành quá trình bắt tay TCP không phổ biến.

x.png

Một phương pháp quét khác là quét SYN. Công cụ quét cổng không sử dụng chức năng mạng riêng được tích hợp sẵn của hệ điều hành, mà tự tạo và gửi các gói dữ liệu IP và theo dõi các phản hồi của chúng khi gửi tới máy chủ. Chế độ quét này được gọi là "quét bán mở" vì nó không bao giờ thiết lập kết nối TCP hoàn chỉnh. Công cụ quét cổng tạo ra một gói SYN. Nếu cổng đích được mở, một gói SYN-ACK sẽ được trả về. Thiết bị dò quét trả lời với gói RST và sau đó đóng kết nối trước khi quá trình bắt tay hoàn tất. Nếu cổng đóng nhưng không sử dụng công cụ phát hiện xâm phạm, cổng đích sẽ tiếp tục trả về các gói RST. Phương pháp quét sử dụng nguyên tắc này có một số ưu điểm: cung cấp cho công cụ quét toàn quyền kiểm soát độ dài của các gói dữ liệu được gửi và chờ phản hồi, cho phép phân tích phản hồi chi tiết hơn. Một ưu điểm nữa của quét SYN là nó không bao giờ thiết lập kết nối hoàn chỉnh do đó khó bị phát hiện hơn. Tuy nhiên, các gói RST có thể gây tắc nghẽn mạng, đặc biệt là một số thiết bị mạng đơn giản như máy in.

Thực hiện
Trong bài viết này, mình sẽ sử dụng phương pháp đầu tiên để quét các cổng đang mở với ngôn ngữ lập trình Python. Quy trình thực hiện như sau
  1. Đọc các cổng trên máy chủ mục tiêu
    Chương trình sử dụng sys.argv[] để đọc và xử lý sơ bộ. Để biết cú pháp cụ thể, vui lòng tham khảo tại đây.
    Mã:
    import sys
    
    # portscan.py  -
    host = sys.argv[1]
    portstrs = sys.argv[2].split('-')
    
    start_port = int(portstrs[0])
    end_port = int(portstrs[1])
  2. Kiểm tra kết nối TCP
    Đầu tiên, chúng ta cần sử dụng gói socket trong Python, để sử dụng tất cả các module mạng có sẵn
    Mã:
    from socket import *
    Kiểm tra địa chỉ IP mục tiêu
    Mã:
    target_ip = gethostbyname(host)
    Sử dụng vòng lặp để quét cổng khi mỗi quá trình dò quyét một cổng kết thúc

    Mã:
    opened_ports = []
    
    for port in range(start_port, end_port + 1):
        sock = socket(AF_INET, SOCK_STREAM)
        sock.settimeout(10)
        result = sock.connect_ex((target_ip, port))
        if result == 0:
            opened_ports.append(port)
  3. In kết quả với lệnh print
    Mã:
    print("Opened ports:")
    
    for i in opened_ports:
        print(i)
Toàn bộ code của 3 quá trình này như sau:
Mã:
import sys
from socket import *

# port_scan.py  -
host = sys.argv[1]
portstrs = sys.argv[2].split('-')

start_port = int(portstrs[0])
end_port = int(portstrs[1])

target_ip = gethostbyname(host)
opened_ports = []

for port in range(start_port, end_port):
    sock = socket(AF_INET, SOCK_STREAM)
    sock.settimeout(10)
    result = sock.connect_ex((target_ip, port))
    if result == 0:
        opened_ports.append(port)

print("Opened ports:")

for i in opened_ports:
    print(i)
Capture.PNG

Để cải thiện tốc độ của quá trình quét cổng, chúng ta sử dụng phương pháp multi-threaded trong Python.
Để sử dụng gói thread trong Python, chúng ta cần
Mã:
import thread

Để thực hiện chức năng kiểm tra TCP, bạn cần chú ý đến việc khóa lệnh in (print) đầu ra. Nếu bạn không thêm khóa, nhiều lỗi đầu ra có thể xảy ra. Khóa cần được tạo khi chương trình khởi động để luồng mới được tạo có thể chia sẻ khóa này:
Mã:
def tcp_test(port):
    sock = socket(AF_INET, SOCK_STREAM)
    sock.settimeout(10)
    result = sock.connect_ex((target_ip, port))
    if result == 0:
        lock.acquire()
        print "Opened Port:",port
        lock.release()
Xử lý đầu vào và tạo khóa có thể được đặt trong hàm main:
Mã:
if __name__=='__main__':
    # portscan.py  -
    host = sys.argv[1]
    portstrs = sys.argv[2].split('-')

    start_port = int(portstrs[0])
    end_port = int(portstrs[1])

    target_ip = gethostbyname(host)

    lock = thread.allocate_lock()
Sau đó, bạn thay đổi vòng lặp
Mã:
for port in range(start_port, end_port):
    thread.start_new_thread(tcp_test, (port,))
thread.start_new_thread: Để tạo một thread, tham số đầu tiên của hàm là một hàm của một thread thực thi, đối số thứ hai phải là một tuple, như là một hàm của đầu vào, vì hàm tcp_test chỉ có một tham số, vì vậy chúng tôi sử dụng (port,) hình thức này chỉ ra rằng tham số này là một tuple.
Khi bạn chạy chương trình này, bạn sẽ nhận được lỗi:
Mã:
Unhandled exception in thread started by
sys.excepthook is missing
lost sys.stderr 
Nguyên nhân là do, quá trình của hàm main đã kết thúc, nhưng thread vẫn đang chạy trong nền. Để giải quyết vấn đề này, chúng ta sử dụng module time và thêm đoạn mã dưới đây vào hàm main:
Mã:
time.sleep(1)
Toàn bộ dòng code của chương trình là như dưới đây:
Mã:
#!/usr/bin/python
import sys
import thread
import time
from socket import *

def tcp_test(port):
    sock = socket(AF_INET, SOCK_STREAM)
    sock.settimeout(10)
    result = sock.connect_ex((target_ip, port))
    if result == 0:
        lock.acquire()
        print 'IP:%s'%(target_ip)
        print "Open port:",port
        print '\n'
        lock.release()
        thread.exit()

if __name__=='__main__':
    # portscan.py  -
    host = sys.argv[1]
    portstrs = sys.argv[2].split('-')

    start_port = int(portstrs[0])
    end_port = int(portstrs[1])

    target_ip = gethostbyname(host)

    lock = thread.allocate_lock()

    for port in range(start_port, end_port):
        thread.start_new_thread(tcp_test, (port,))
        time.sleep(1)
Mình test thử để dò cổng từ 1 đến 100 của IP 192.168.1.1 thì được kết quả như sau:
[​IMG]

Stored XSS account takeover

Tinhte.vn chắc khá quen thuộc với anh em trong làng công nghệ ở VN, mình cũng hay xem tin tức ở trang này. Hôm nay mình sẽ trình bày cách mình đã mượn tạm tài khoản admin “cuhiep” như thế nào 😅
Tinhte.vn account takeover
Bạn nào chưa biết về Cross-site scripting (XSS) có thể tham khảo ở trang này: https://portswigger.net/web-security/cross-site-scripting
Trước khi viết bài này, mình đã gửi vài report nhỏ nhỏ khác cho tinhte, hôm nay dạo lại một vòng lanh quanh các chức năng đang có trên website để xem có phát hiện nào không. (A few moment later) mình thấy chức năng post bài có chèn background để trang trí cho đẹp, thử post đoạn text demo:
Intercept request, nội dung body có đoạn:
Tham số “post_body” đang dùng theo dạng BBCODE, giá trị cho background photo là một url. Thử view-source của những bài post khác và search keyword: “thread_background_url”. Tìm thấy trong code họ in ra giá trị của “post_body”, tại đây mình xác định victim có khả năng bị stored XSS:
Quay lại nội dung intercept request lúc nãy, thay đổi nội dung của “post_body” thành: [meta=]
Submit post và xem kết quả, victim dính Stored XSS 😍
Code của “attacker” đơn giản là một đoạn javascript lấy cookies từ trình duyệt của user đã đăng nhập vào website và gửi về cho attacker.
Việc tiếp theo là tìm một topic nào đó trên website thu hút nhiều người xem (trong đó những user thuộc các group như Admin, Mod…sẽ ra vào xem bài thường xuyên) , post comment kèm XSS script rồi…ngồi chờ kết quả 🥳
Attacker got admin cookies
Tinhte sử dụng cookie có dạng “tt_user=id,token” (admin cuhiep có id là 3). Sau khi có được cookie của account admin, chỉ cần replace vào browser & refresh là bạn sẽ biến hình thành trùm cuối 😋
Bài viết này được viết sau khi đã report và tinhte đã đồng ý cho public nội dung. Thanks for reading!

Thứ Tư, 20 tháng 5, 2020

Cảnh báo: lỗ hổng nghiêm trọng trong ứng dụng Bluezone

Theo nguồn: https://vnhacker.blogspot.com/


Tóm tắt

Bluezone là ứng dụng truy vết tiếp xúc, giúp cảnh báo nếu bạn đã ở gần người nhiễm COVID-19. Ứng dụng này do Chính phủ Việt Nam phát hành và được thực hiện bởi các doanh nghiệp công nghệ số Việt Nam gồm: Memozone, VNPT, MobiFone và BKAV. Ngày 18/4/2020 VnExpress dẫn lời Bộ trưởng Nguyễn Mạnh Hùng:

Bluezone là bước tiến mới, có tính đột phá trong việc sử dụng công nghệ để phòng chống dịch bệnh. Đột phá ở chỗ, chính quyền không thu thập thông tin người dân [...] người dân có thể giám sát phần mềm mình đang dùng có an toàn không. Chúng ta không phải quốc gia đầu tiên dùng giải pháp này, nhưng phần mềm Việt Nam giải quyết được cơ bản các lỗi của các phần mềm trước đó.

Trong kết luận tại cuộc họp Thường trực Chính phủ về phòng, chống dịch COVID-19 ngày 23/4/2020, Thủ tướng Nguyễn Xuân Phúc cũng đã yêu cầu “khẩn trương đánh giá [...] ứng dụng Bluezone”. Tôi thấy vui mừng khi Chính phủ Việt Nam quan tâm đến quyền riêng tư của người dân. Sẵn có chút nghề trong người, thông qua một người bạn, tôi đã ngỏ ý trực tiếp với BKAV sẽ giúp họ đánh giá an ninh, nhưng cho đến nay chưa nhận được phản hồi. Ngày 24/4/2020, sau khi thấy ứng dụng Bluezone cho Android được đưa lên Google Play, tôi đã tải về coi thử.

Bằng cách dịch ngược mã phần mềm, tôi đã phát hiện nhiều lỗ hổng nghiêm trọng ảnh hưởng đến sự an toàn và riêng tư của người dùng. Tại thời điểm tôi viết những dòng này, đã có gần 10.000 người đăng ký sử dụng Bluezone và con số này tăng lên rất nhanh, chỉ riêng hôm nay đã tăng gấp 3 lần. Tôi muốn gửi lời cảnh báo đến tất cả mọi người, ai đã lỡ cài thì nên gỡ bỏ, còn ai chưa cài thì không nên cài.

Tôi đã gửi toàn bộ thông tin chi tiết về lỗ hổng đến BKAV. Tôi đề nghị BKAV và các đơn vị phát triển Bluezone tạm ngừng phát hành sản phẩm này. Thay vì tìm cách sửa chữa giải pháp hiện thời, tôi đề nghị sử dụng lại các giải pháp mở đã được thiết kế và kiểm định bởi những chuyên gia có uy tín. Giải pháp mở tốt nhất hiện tại là DP3T của Châu Âu.

Nếu việc phát triển Bluezone diễn ra trên một không gian mở như GitHub (mạng xã hội của lập trình viên), những vấn đề này đã sớm được phát hiện. Tôi đề nghị nhóm phát triển Bluezone ngay lập tức chuyển tất cả mã nguồn, tài liệu và đưa việc phát triển Bluezone lên GitHub.

Các quốc gia khi phát triển giải pháp truy vết tiếp xúc đều tham khảo ý kiến của các chuyên gia. Tôi thấy ứng dụng Bluezone có rất nhiều lỗ hổng sơ đẳng, chứng tỏ việc thiết kế và triển khai không có sự tham gia của những chuyên gia về an ninh mạng và riêng tư. Tôi đề nghị Chính phủ Việt Nam tổ chức đánh giá và phản biện độc lập trước khi giới thiệu với người dân một ứng dụng nhạy cảm như Bluezone.

Cách thức hoạt động của Bluezone


Nguồn: https://bluezone.vn


Tóm tắt những lỗ hổng nghiêm trọng


1/ Bluezone sử dụng sóng Bluetooth để phát và thu mã số ngẫu nhiên. Thay vì liên tục thay đổi mã số ngẫu nhiên như các giải pháp của Singapore, Châu Âu hay Google/Apple, mỗi người sử dụng Bluezone chỉ có một mã số duy nhất, gọi là mã ID Bluezone. Người sử dụng không thể thay đổi mã số này, trừ khi xóa và cài lại ứng dụng. Cách làm không giống ai này khiến người sử dụng có thể bị theo dõi, bị lộ thông tin vị trí, hành trình, đã gặp ai, có bị nhiễm hay phơi nhiễm hay không.

2/ Ngoài việc không thay đổi mã ID Bluezone, ứng dụng Bluezone cũng không thay đổi địa chỉ Bluetooth của thiết bị. Nếu không thay đổi địa chỉ Bluetooth người dùng sẽ bị theo dõi và lộ bị lộ thông tin vị trí, hành trình, đã gặp ai, có bị nhiễm hay phơi nhiễm hay không. Đây cũng làm một cách làm không giống ai, vì các giải pháp của Châu Âu, Singapore hay Google/Apple đều nhấn mạnh phải thay đổi địa chỉ Bluetooth.
Cập nhật 24/4/2020 7:30PM: chỗ này không công bằng với Bluezone vì muốn thay đổi địa chỉ Bluetooth thì cần sự hỗ trợ của hệ điều hành và phần cứng. Để an toàn, mã ID Bluezone và địa chỉ Bluetooth phải được đổi cùng lúc. Trên một số dòng điện thoại Android, nếu ứng dụng khởi động lại quá trình gửi quảng cáo qua Bluetooth thì địa chỉ Bluetooth sẽ thay đổi, nhưng chuyện này còn phụ thuộc vào nhà sản xuất điện thoại. Còn trên iOS hiện giờ tôi không biết có cách nào không. API mới mà Google/Apple sắp phát hành vào tháng 5 năm nay hi vọng sẽ tự động hóa việc này, các ứng dụng truy vết như Bluezone có thể dùng lại mà không cần quan tâm đến vấn đề này nữa.

3/ Mã ID Bluezone quá ngắn, dễ dẫn đến trùng mã. Tổng số lượng mã ngẫu nhiên là ở khoảng 36^6, tức lớn hơn 2^31 một chút. Theo nghịch lý ngày sinh, chỉ cần 2^16 người đăng ký sử dụng, tức là khoảng 65 ngàn người, thì sẽ có hai người có mã ID Bluezone trùng nhau với xác suất cao. Khi đó, nếu một trong hai người bị nhiễm (phơi nhiễm), người kia cũng sẽ bị tính là nhiễm (phơi nhiễm)!

4/ Thuật toán tạo mã ID Bluezone rất dễ đoán. Chỉ cần biết thời điểm bạn đăng ký sử dụng app, người khác có thể đoán được mã ID của bạn. Tôi có thể tính được mã ID Bluezone của tất cả người dùng. Nếu bị lộ mã ID Bluezone, người dùng có thể bị kẻ xấu quy kết là đã nhiễm bệnh hoặc phơi nhiễm, dẫn đến bị cách ly, mặc dù hoàn toàn khỏe mạnh.

5/ Khi chạy app Bluezone lần đầu tiên, Bluezone đăng ký để nhận tin nhắn từ máy chủ BKAV qua dịch vụ Firebase Cloud Messaging. Quá trình đăng ký dựa vào ID Bluezone, nhưng vì ID Bluezone có thể bị đoán trước, kẻ xấu có thể dễ dàng đăng ký để nhận mã ID Bluezone của tất cả người dùng, hoặc của một nhóm người dùng. Khi đó tất cả tin nhắn mà máy chủ BKAV gửi xuống người dùng đều sẽ bị lộ.

6/ Ứng dụng Bluezone Android yêu cầu người dùng cấp quyền truy cập thông tin vị trí, hình ảnh, tài liệu lưu trên điện thoại. Bluezone không cần sử dụng những thông tin này để thực hiện truy vết. Nhóm phát triển ứng dụng nên gỡ bỏ những yêu cầu này.
Cập nhật 3PM 24/4/2020: Bluezone phải yêu cầu người dùng cấp quyền truy cập thông tin vị trí vì Android bắt buộc (nguồn). Đây là một tính năng privacy của Android, vì thông qua Bluetooth có thể định vị vị trí của người dùng. Cảm ơn bạn Triệu Minh Khôi đã chỉ ra (nhưng không hiểu sao lại xóa comment rồi àh đã post còm mới rồi). Bluezone yêu cầu quyền đọc và ghi external storage, đây là nơi Android lưu hình ảnh, tài liệu. Bạn Triệu Minh Khôi có nói sở dĩ Bluezone làm vậy là vì muốn backup các ID Bluezone đã thu thập được. Tôi nghĩ không nên backup thông tin nhạy cảm ra external storage, vì đây là nơi ai cũng có thể đọc.
Cập nhật 8:30PM 24/4/2020: Tôi đã xác nhận Bluezone ghi xuống external storage những ID Bluezone và địa chỉ của các thiết bị mà nó đã thấy. Tất cả các ứng dụng khác trên cùng điện thoại có thể đọc được dữ liệu này và qua đó có thể biết được người dùng đã gặp ai, ở đâu, vào lúc nào. Các ứng dụng này cũng có thể xóa hay ngụy tạo dữ liệu để khiến người dùng bị false positive (không bị phơi nhiễm nhưng bị quy là có) và false negative (bị phơi nhiễm nhưng tưởng là không).
Để hiểu rõ tác hại của những vấn đề này, xin tham khảo phân tích an ninh và riêng tư cho các giải pháp truy vết tiếp xúc của DP3T.

Chi tiết lỗ hổng


Toàn bộ thông tin chi tiết về tất cả lỗ hổng đã được chuyển cho BKAV và sẽ được công bố rộng rãi sau 7 ngày nữa. Thời gian biểu này tuân theo chính sách công bố lỗ hổng bảo mật của Google, nhưng xin lưu ý tôi làm việc này hoàn toàn trên danh nghĩa cá nhân, với tư cách một người Việt Nam, không liên quan gì đến nơi tôi làm việc.

(Xem phản hồi của Bluezone)

Lịch sử thay đổi
(3AM 24/4/2020) Công bố báo cáo.
(3PM 24/4/2020) Điều chỉnh lại một chỗ chưa chính xác, giải thích tại sao Bluezone phải cần quyền truy cập thông tin vị trí mặc dù không dùng đến vì đây là yêu cầu của Android. Cảm ơn bạn Triệu Minh Khôi đã chỉ ra chỗ sai này.
(24/4/2020 7:30PM) Thêm một đoạn giải thích hiện giờ Bluezone không thể tự thay đổi địa chỉ Bluetooth mà phải phụ thuộc vào hệ điều hành và phần cứng.
(8:30PM 24/4/2020) Thêm một lỗ hổng mới: Bluezone lưu dữ liệu thu thập được vào external storage, đây là phần bộ nhớ mà các app khác cài trên cùng điện thoại có thể thoải mái đọc/ghi.

Thứ Ba, 19 tháng 5, 2020

Top 20 công cụ Ethical Hacking 2020

Theo whitehat.vn

Ethical Hacking hay còn được gọi là Penetration Testing, là hành động xâm nhập hệ thống hoặc mạng đã được sự đồng ý của người dùng.
Mục đích là để đánh giá tính bảo mật của một tổ chức bằng cách khai thác các lỗ hổng theo cách mà những kẻ tấn công có thể khai thác chúng. Sau đó ghi lại các thủ tục tấn công để ngăn chặn các cuộc tấn công có thể xảy ra trong tương lai.

Các công cụ hỗ trợ cho quá trình Penetration Testing phải được sự đồng ý của bên chủ quản hạ tầng công nghệ thông tin được cho là hợp pháp và bất hợp pháp nếu các công cụ này sử dụng để tấn công các hệ thống thông tin khác mà chưa có sự cho phép của chủ sở hữu.

Dưới đây là 20 công cụ mà các chuyên gia an ninh mạng thường hay sử dụng khi kiểm thử xâm nhập hệ thống tìm lỗ hổng phần mềm.


https://whitehat.vn/threads/top-20-cong-cu-ethical-hacking-2020.13622/?fbclid=IwAR1ulq5qgrfRYJiNSmW4z78USnCEtYe2EtY5l47yJJLgFMlBUdznAz59kEM

Thứ Hai, 18 tháng 5, 2020

Kỹ thuật và công nghệ phục vụ an ninh, an toàn mạng máy tính

Bàn luận về công cụ, kỹ thuật, phương pháp, thuật toán, framework về bảo vệ an ninh mạng.