Cách kiểm tra xem email của nhân viên có bị vi phạm dữ liệu hay không

Tác giả sysadmin, T.Mười 14, 2022, 04:41:36 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách kiểm tra xem email của nhân viên có bị vi phạm dữ liệu hay không


Thông tin đăng nhập của nhân viên của bạn có trên dark web không? Chúng tôi hướng dẫn bạn cách kiểm tra xem dữ liệu của họ có bị bắt lỗi vi phạm dữ liệu hay không.


1. Người bạn cũ của chúng ta, mật khẩu

Mật khẩu khiêm tốn vẫn là phương pháp phổ biến nhất để xác thực bản thân để có quyền truy cập vào máy tính hoặc tài khoản trực tuyến. Các hệ thống khác đang tồn tại và sẽ tiếp tục xuất hiện và phát triển nhưng hiện tại, mật khẩu đã phổ biến.

Mật khẩu là một đứa trẻ của những năm sáu mươi. Trong quá trình phát triển  Hệ thống chia sẻ thời gian tương thích  (CTSS), các nhà khoa học máy tính nhận ra rằng các tệp thuộc về mỗi người dùng cần được cách ly và bảo vệ. Người dùng có thể xem và sửa đổi các tệp của chính họ, nhưng họ không được phép xem các tệp của người khác.

Giải pháp có nghĩa là người dùng phải được xác định. Họ cần một tên người dùng. Và để chứng minh người dùng là chính họ, mật khẩu đã được phát minh ra. Công lao cho việc phát minh ra mật khẩu thuộc về  Fernando J. Corbató.

Vấn đề với mật khẩu là bất kỳ ai biết mật khẩu của bạn đều có thể truy cập vào tài khoản của bạn. Nó giống như việc đưa cho họ một chiếc chìa khóa dự phòng vào ngôi nhà của bạn. Xác thực hai yếu tố  (2FA) cải thiện tình trạng này. Nó kết hợp thứ bạn  biết — mật khẩu của bạn — với thứ bạn  sở hữu — điển hình là điện thoại thông minh của bạn. Khi bạn nhập mật khẩu của mình vào hệ thống có 2FA, một mã sẽ được gửi đến điện thoại thông minh của bạn. Bạn cũng cần nhập mã đó vào máy tính. Nhưng 2FA không thay thế mật khẩu, nó  tăng cường  mô hình bảo mật của mật khẩu tiêu chuẩn.

Sinh trắc học cũng đang được giới thiệu trong một số hệ thống. Điều này kết hợp một số nhận dạng sinh học duy nhất, một cái gì đó của bạn , vào hỗn hợp, chẳng hạn như dấu vân tay hoặc nhận dạng khuôn mặt. Điều này vượt ra ngoài xác thực hai yếu tố và xác thực đa yếu tố. Những công nghệ mới hơn này sẽ không lọc qua phần lớn các hệ thống máy tính và dịch vụ trực tuyến trong nhiều thập kỷ nữa, và có lẽ sẽ không bao giờ xuất hiện trong một số hệ thống. Mật khẩu sẽ ở với chúng ta trong một thời gian dài.

2. Vi phạm dữ liệu

Vi phạm dữ liệu đang xảy ra liên tục. Dữ liệu từ những vi phạm này cuối cùng được đưa đến trên dark web, nơi nó được bán cho các tội phạm mạng khác. Nó có thể được sử dụng trong các email lừa đảo, email lừa đảo, các loại gian lận khác nhau và đánh cắp danh tính cũng như để truy cập các hệ thống khác. Các cuộc tấn công nhồi nhét thông tin xác thực sử dụng phần mềm tự động để cố gắng đăng nhập vào hệ thống. Các cơ sở dữ liệu email và mật khẩu này cung cấp nguồn cung cấp cho các cuộc tấn công đó.

Mọi người có thói quen xấu là sử dụng lại mật khẩu. Thay vì có một mật khẩu mạnh duy nhất cho mỗi hệ thống, họ thường sử dụng lại nhiều lần một mật khẩu duy nhất trên nhiều hệ thống.

Chỉ cần một trong số các trang đó bị xâm phạm thì tất cả các trang khác đều gặp rủi ro. Thay vì các tác nhân đe dọa biết mật khẩu của bạn vào trang web bị vi phạm — bạn sẽ thay đổi mật khẩu này ngay khi nghe tin có vi phạm — họ có thể sử dụng email và mật khẩu đó để truy cập vào các tài khoản khác của bạn.

3. 10 tỷ tài khoản bị xâm phạm

Trang  web Have I Been Pwned  thu thập các tập dữ liệu từ tất cả các dữ liệu mà nó có thể vi phạm. Bạn có thể tìm kiếm tất cả dữ liệu kết hợp đó và xem liệu địa chỉ email của bạn có bị lộ do vi phạm hay không. Nếu có, Have I Been Pwned cho bạn biết dữ liệu đến từ trang web hoặc dịch vụ nào. Sau đó, bạn có thể truy cập trang web đó và thay đổi mật khẩu hoặc đóng tài khoản của mình. Và nếu bạn đã sử dụng mật khẩu bạn đã sử dụng trên trang web đó trên bất kỳ trang web nào khác, bạn cũng cần phải đi và thay đổi mật khẩu đó trên các trang web.

Hiện có hơn  10 tỷ bản ghi dữ liệu trong cơ sở dữ liệu Have I Been Pwned. Cơ hội một hoặc nhiều địa chỉ email của bạn có trong đó là gì? Có lẽ câu hỏi hay hơn sẽ là khả năng xảy ra trường hợp địa chỉ email của bạn  không có trong đó là bao nhiêu?

4. Tìm kiếm địa chỉ email

Kiểm tra rất dễ dàng. Truy cập  trang web Have I Been Pwned  và nhập địa chỉ email của bạn vào trường "Email address" và nhấp vào "Pwned?" cái nút.


Tôi đã nhập một địa chỉ email cũ và nhận thấy nó đã bị đưa vào sáu lần vi phạm dữ liệu.


  • LinkedIn:  LinkedIn  đã vi phạm vào năm 2016, khi 164 triệu địa chỉ email và mật khẩu bị lộ. Tất cả mật khẩu của tôi là duy nhất, vì vậy tôi chỉ phải thay đổi một mật khẩu.
  •   Đăng nhập để xem liên kết:   Đăng nhập để xem liên kết — hoặc là — một dịch vụ xác minh địa chỉ email. Mọi người đã nhập địa chỉ email để tìm hiểu xem chúng có phải là địa chỉ email trực tiếp hợp lệ hay không. Tôi chưa bao giờ sử dụng chúng, nên rõ ràng ai đó đã nhập địa chỉ email của tôi để xác minh. Tất nhiên, không có mật khẩu liên quan, vì vậy tôi không có bước bảo mật nào để thực hiện, ngoài việc đề phòng các email spam và lừa đảo.
  • Phơi nhiễm làm giàu dữ liệu từ PDL:  Phòng thí nghiệm dữ liệu con người  (PDL) kiếm tiền từ việc thu thập và bán dữ liệu. Tôi đã yêu cầu một bản sao dữ liệu của mình từ PDL và từ cái nhìn của nó, tôi đoán họ có được nó bằng cách cạo và tham khảo chéo LinkedIn, Twitter, các trang web kinh doanh và các nguồn khác. Một lần nữa, không có mật khẩu nào liên quan, vì vậy tôi không có bước bảo mật nào để thực hiện. Nhưng tôi đã chọn không tham gia "dịch vụ" của họ nên họ không thể bán dữ liệu của tôi nữa.
  • Onliner Spambot: Một spambot được gọi là Spambot trực tuyến có địa chỉ email của tôi trong đó, có thể đã được gỡ bỏ từ một trong những vi phạm khác. Nhưng sau đó chính Spambot Onliner đã bị xâm phạm, làm rò rỉ 711 triệu hồ sơ cá nhân, bao gồm một số mật khẩu.
  • Bộ sưu tập số 1 và Danh sách kết hợp chống công khai: Hai bộ cuối cùng là bộ sưu tập dữ liệu khổng lồ đã bị vi phạm trước đây, được gói lại thành các gói lớn để thuận tiện cho tội phạm mạng. Vì vậy, dữ liệu cá nhân của tôi nằm trong những vi phạm đó, nhưng tôi đã phản ứng và xử lý những vi phạm ban đầu.

Những điểm quan trọng cần lưu ý là:

  • Dữ liệu của bạn có thể bị vi phạm đối với các trang web mà bạn thậm chí chưa từng truy cập.
  • Ngay cả khi các vi phạm dữ liệu không chứa mật khẩu, dữ liệu cá nhân của bạn vẫn có thể được sử dụng cho các mục đích tội phạm, chẳng hạn như email spam, email lừa đảo, email lừa đảo, đánh cắp danh tính và gian lận.

5. Tìm kiếm tên miền

Sáng sủa và hữu ích như vậy, việc nhập địa chỉ email cho tất cả nhân viên của bạn sẽ tốn nhiều thời gian. Câu trả lời của Have I Been Pwned cho điều này là  chức năng tìm kiếm tên miền. Bạn có thể đăng ký miền của mình và nhận báo cáo về bất kỳ và tất cả các địa chỉ email trên miền đó đã bị phát hiện vi phạm.

Và nếu bất kỳ địa chỉ email nào trên miền của bạn xuất hiện trong các vi phạm trong tương lai, bạn sẽ được thông báo. Điều đó khá tuyệt.


Tất nhiên, bạn phải chứng minh quyền sở hữu miền. Có nhiều cách khác nhau để đạt được điều này. Bạn có thể:

  • Xác minh qua email tới security@, hoặc  trên miền của bạn [email protected]@webmaster@
  • Thêm thẻ meta chứa ID duy nhất vào trang chủ của trang web của bạn.
  • Tải tệp lên thư mục gốc của trang web của bạn, chứa một ID duy nhất.
  • Tạo bản ghi TXT trên miền, chứa một ID duy nhất.

Đây là một dịch vụ miễn phí tuyệt vời và rất đáng để đăng ký.

6. Tìm kiếm các email không liên quan

Nhưng điều gì sẽ xảy ra nếu bạn có một bộ sưu tập email cần kiểm tra, nằm rải rác trên các miền khác nhau? Bạn có thể có địa chỉ email gmail.comvà các miền khác mà rõ ràng bạn sẽ không thể chứng minh quyền sở hữu.

Đây là một tập lệnh shell Linux lấy một tệp văn bản làm tham số dòng lệnh. Tệp văn bản phải chứa các địa chỉ email, một địa chỉ trên mỗi dòng. Tập lệnh thực hiện tìm kiếm email Have I Been Pwned cho từng địa chỉ email trong tệp văn bản.

Tập lệnh sử dụng một API đã được xác thực. Bạn sẽ cần một khóa API. Để nhận được chìa khóa, bạn cần đăng ký và thanh toán cho dịch vụ. Troy Hunt đã viết một  bài đăng trên blog kỹ lưỡng  về chủ đề tính phí sử dụng API. Anh ấy giải thích đầy đủ lý do tại sao anh ấy buộc phải tính phí như một cách để chống lại việc lạm dụng API. Chi phí là 3,50 USD mỗi tháng, thấp hơn một ly cà phê từ một cửa hàng cao cấp trên đường phố. Bạn có thể trả trong một tháng hoặc bạn có thể đăng ký trong một năm.

Đây là toàn bộ kịch bản.

Mã nguồn [Chọn]
#!/bin/bash

if [[ $# -ne 1 ]]; then
  echo "Usage:" $0 "file-containing-email-addresses"
  exit 1
fi

for email in $(cat $1)
do
  echo $email

  curl -s -A "CloudSavvyIT"
  -H "hibp-api-key:your-API-key-goes-here"
  https://haveibeenpwned.com/api/v3/breachedaccount/$email?truncateResponse=false
  | jq -j '.[] | " ",.Title, " [",.Name, "] ",.BreachDate, "n"'

  echo "---"
  sleep 1.6
done

exit 0

Trước khi chúng tôi giải thích cách hoạt động của script, bạn có thể nhận thấy nó sử dụng  curl  và  jq. Nếu bạn chưa cài đặt những thứ này trên máy tính của mình, bạn sẽ cần thêm chúng.

Trên Ubuntu, các lệnh là:

Mã nguồn [Chọn]
sudo apt-get install curl

Mã nguồn [Chọn]
sudo apt-get install jq

Trên Fedora, bạn cần nhập:

Mã nguồn [Chọn]
sudo dnf install curl

Mã nguồn [Chọn]
sudo dnf install jq

Trên Manjaro, bạn sẽ sử dụng pacman:

Mã nguồn [Chọn]
sudo pacman -Syu curl

Mã nguồn [Chọn]
sudo pacman -Syu jq

7. Cách thức hoạt động của Script

Biến $#chứa số lượng tham số dòng lệnh đã được chuyển đến tập lệnh. Nếu điều này không bằng một, thông báo sử dụng được hiển thị và tập lệnh sẽ thoát. Biến $0 giữ tên của script.

Mã nguồn [Chọn]
if [[ $# -ne 1 ]]; then

  echo "Usage:" $0 "file-containing-email-addresses"

  exit 1

fi

Tập lệnh đọc địa chỉ email từ tệp văn bản bằng cách sử dụng catvà đặt $emailđể giữ tên của địa chỉ email hiện đang được xử lý.

Mã nguồn [Chọn]
for email in $(cat $1)
do
  echo $email

Lệnh curlđược sử dụng để truy cập API và lấy kết quả. Các tùy chọn chúng tôi đang sử dụng với nó là:

  • s: Im lặng.
  • A: Chuỗi tác nhân người dùng. Không phải tất cả các API HTTP đều cần nhận một API, nhưng cách tốt là bạn nên bao gồm một API. Bạn có thể đặt tên công ty của bạn tại đây.
  • H: Tiêu đề HTTP bổ sung. Chúng tôi đang sử dụng một tiêu đề HTTP bổ sung để chuyển vào khóa API. Thay thế your-API-key-goes-herebằng khóa API thực của bạn.

Lệnh curl sẽ gửi yêu cầu đến URL API tài khoản bị vi phạm Have I Been Pwned. Phản hồi được đưa vào jq.

jq trích xuất tiêu đề (.Title) của vi phạm, số nhận dạng nội bộ (.Name) cho vi phạm và ngày vi phạm (.BreachDate) từ mảng không tên (.[]) chứa thông tin JSON.

Mã nguồn [Chọn]
  curl -s -A "CloudSavvyIT"
  -H "hibp-api-key:your-API-key-goes-here"
  https://haveibeenpwned.com/api/v3/breachedaccount/$email?truncateResponse=false
  | jq -j '.[] | "  ",.Title, " [",.Name, "] ",.BreachDate, "n"'

  echo "---"
  sleep 1.6
done

exit 0

Một vài khoảng trắng được hiển thị trước tiêu đề vi phạm để thụt lề đầu ra. Điều này giúp bạn dễ dàng phân biệt giữa địa chỉ email và tên vi phạm. Dấu ngoặc đã được đặt ở hai bên   Đăng nhập để xem liên kết mục dữ liệu để giúp phân tích cú pháp trực quan. Đây là những mỹ phẩm đơn giản và có thể thay đổi hoặc loại bỏ, phù hợp với nhu cầu của bạn.

Ba dấu gạch ngang được hiển thị để phân tách dữ liệu cho từng địa chỉ email và khoảng thời gian tạm dừng 1,6 giây được thêm vào giữa các lần kiểm tra. Điều này là bắt buộc để tránh bắn phá API quá thường xuyên và bị chặn tạm thời.

Có 15 mục dữ liệu mà bạn có thể chọn để hiển thị. Danh sách đầy đủ được hiển thị trên  các trang API  của trang web.

8. Chạy tập lệnh

Sao chép toàn bộ tập lệnh vào một trình chỉnh sửa, thay thế your-API-key-goes-here bằng khóa API của bạn, sau đó lưu nó dưới dạng "pwnchk.sh". Để làm cho nó có thể thực thi, hãy chạy lệnh sau:

Mã nguồn [Chọn]
chmod + x pwnchk.sh

Chúng tôi có một tệp văn bản được gọi là "email-list.txt." nó chứa các địa chỉ email này:


Đó là tổng thống và phó tổng thống Hoa Kỳ, và văn phòng riêng của thủ tướng Vương quốc Anh. Tất cả chúng đều là địa chỉ email có sẵn công khai, vì vậy chúng tôi không vi phạm bất kỳ giao thức bảo mật hoặc quyền riêng tư nào khi sử dụng chúng ở đây. Để thuận tiện, chúng tôi đang đưa đầu ra vào less. Bạn cũng có thể dễ dàng chuyển hướng đầu ra thành một tệp.

Mã nguồn [Chọn]
./pwnchk.sh email-list.txt | less

Dòng đầu tiên đề cập đến "2.844 Vi phạm Dữ liệu Riêng biệt".


Đó là tên của một bộ sưu tập dữ liệu vi phạm được tạo thành từ 2.844 vi phạm nhỏ hơn. Nó không có nghĩa là địa chỉ email đã bị vi phạm nhiều như vậy.

Cuộn qua đầu ra, và bạn sẽ thấy rằng những địa chỉ email đó đã được tìm thấy trong nhiều vụ vi phạm có niên đại từ vụ vi phạm Myspace năm 2008.

9. Lời cuối cùng về mật khẩu

Bạn cũng có thể tìm kiếm mật khẩu trên Have I was Pwned. Nếu một kết quả trùng khớp được tìm thấy, điều đó không nhất thiết có nghĩa là mật khẩu trong vi phạm dữ liệu là của bạn. Điều đó có thể có nghĩa là mật khẩu của bạn không phải là duy nhất.

Mật khẩu của bạn càng yếu thì càng ít có khả năng là duy nhất. Ví dụ, mật khẩu yêu thích của người dùng lười biếng, 123456, có 23,5 triệu lượt khớp. Đó là lý do tại sao tìm kiếm bằng email là lựa chọn tốt hơn.


Luôn sử dụng mật khẩu duy nhất mạnh mẽ. Sử dụng trình quản lý mật khẩu nếu bạn có quá nhiều mật khẩu cần nhớ. Trường hợp 2FA được cung cấp, hãy sử dụng nó.

Tập lệnh mà chúng tôi đã trình bày sẽ giúp bạn kiểm tra danh sách các địa chỉ email khác nhau. Nó sẽ giúp bạn tiết kiệm rất nhiều thời gian, đặc biệt nếu nó là thứ bạn sẽ chạy định kỳ.