Các lỗ hổng cũng có thể nằm ngay các dịch vụ cung cấp như sendmail, web, ftp … Ngoài ra các lỗ hổng còn tồn tại ngay chính tại hệ điều hành như trong Windows NT, Windows 95, UNIX; hoặc t
Trang 2CHƯƠNG 1: LỖ HỔNG BẢO MẬT
I LỖ HỔNG BẢO MẬT
Lỗ hổng bảo mật là một điểm yếu của hệ thống trong quá trình thiết kế, thi công
và quản trị Phần lớn các lỗ hổng bảo mật được đã phát hiện ngày nay đều được ghi lạitrong cơ sở dữ liệu Common Vulnerabilities and Exposures (CVE) Một lỗ hổng bịkhai thác là một lỗ hổng mà đã bị lợi dụng để thực hiện hoạt động tấn công ít nhất mộtlần hoặc đã bị khai thác (exploit)
Các lỗ hổng trong mạng hiện nay:
Lỗ hổng mạng: là các điểm yếu có thể tạo ra sự ngưng trệ của dịch vụ, thêm
quyền đối với người sử dụng hoặc cho phép các truy nhập không hợp pháp vào hệthống Các lỗ hổng cũng có thể nằm ngay các dịch vụ cung cấp như sendmail, web, ftp
… Ngoài ra các lỗ hổng còn tồn tại ngay chính tại hệ điều hành như trong Windows
NT, Windows 95, UNIX; hoặc trong các ứng dụng mà người sử dụng thương xuyên sửdụng như Word processing, các hệ databases…
Có nhiều tổ chức khác nhau tiến hành phân loại các dạng lỗ hổng đặc biệt.Theo cách phân loại của Bộ quốc phòng Mỹ, các loại lỗ hổng bảo mật trên một hệthống được chia như sau:
- Lỗ hổng loại A: Các lỗ hổng này cho phép người sử dụng ở ngoài có thể truynhập vào hệ thống bất hợp pháp Lỗ hổng rất nguy hiểm, có thể làm phá hủy toàn bộ
hệ thống
- Lỗ hổng loại B: Các lỗ hổng cho phép người sử dụng có thêm các quyền trên
hệ thống mà không cần thực hiện kiểm tra tính hợp lệ Mức độ nguy hiểm trung bình;Những lỗ hổng này thường có trong các ứng dụng trên hệ thống; có thể dẫn đến mấthoặc lộ thông tin yêu cầu bảo mật
- Lỗ hổng loại C: các lỗ hổng loại này cho phép thực hiện các phương thức tấncông theo DoS (Dinal of Services - Từ chối dịch vụ) Mức độ nguy hiểm thấp, chỉ ảnhhưởng tới chất lượng dịch vụ, có thể làm ngưng trệ,gián đoạn hệ thống; không làmphá hỏng dữ liệu hoặc đạt được quyền truy nhập bất hợp pháp
Lý do cho các lỗ hổng vẫn còn tồn tại: Do phần mềm kém và do sự tấn công càng ngày càng tinh vi.
Trang 3Lỗ hổng loại A có mức độ rất nguy hiểm; đe dọa tính toàn vẹn và bảo mật của
hệ thống Các lỗ hổng loại này thường xuất hiện ở những hệ thống quản trị yếu kémhoặc không kiểm soát được cấu hình mạng
Ví dụ:
Một ví dụ thường thấy là trên nhiều hệ thống sử dụng Web Server là Apache,đối với Web Server này thường cấu hình thư mục mặc định để chạy các scripts là cgi-bin; trong đó có một Scripts được viết sẵn để thử hoạt động của apache là test-cgi Đốivới các phiên bản cũ của Apache (trước version 1.1),có dòng sau trong file test-cgi:
echo QUERY_STRING = $QUERY_STRING
Biến môi trường QUERY_STRING do không được đặt trong có dấu ” (quote)nên khi phía client thưc hiện một yêu cầu trong đó chuỗi ký tự gửi đến gồm một số ký
tự đặc biệt; ví dụ ký tự “*”,web server sẽ trả về nội dung của toàn bộ thư mục hiệnthời (là các thư mục chứa các scipts cgi) Người sử dụng có thể nhìn thấy toàn bộ nộidung các file trong thư mục hiện thời trên hệ thống server
Một ví dụ khác: cũng xảy ra tương tự đối với các Web server chạy trên hệ điều
hành Novell; Các web server này có một scripts là convert.bas, chạy scripts này chophép đọc toàn bộ nội dung các files trên hệ thống
Những lỗ hổng loại này hết sức nguy hiểm vì nó đã tồn tại sẵn có trên phầnmềm sử dụng; người quản trị nếu không hiểu sâu về dịch vụ và phần mềm sử dụng sẽ
có thể bỏ qua những điểm yếu này Đối với những hệ thống cũ, thường xuyên phảikiểm tra các thông báo của các nhóm tin về bảo mật trên mạng để phát hiện những lỗhổng loại này Một loạt các chương trình phiên bản cũ thường sử dụng có những lỗhổng loại A như: FTP, Gopher, Telnet, Sendmail, ARP, finger…
II CÁC MÔ HÌNH AN NINH MẠNG
1 Mô hHnh mạng trạm chI Client server model:
Trang 4Mô hHnh client/server
– Các máy trạm sau khi đã được kết nối vào hê v thống bên trong của máy chủ sẽ
có thể câ vp nhật, truy câ vp các tài nguyên có trên máy chủ Trong mô vt số trườnghợp, máy chủ có tên là Domain controller sẽ được quản lý bởi 1 máy chủ Đểtránh trường hợp PDC – Primary Domain Controller xảy ra các sự cố, bạn cầnkiểm tra thường xuyên và đồng thời kiểm tra BDC – Backup Domain Controller– Mô hình mạng này được chuyên gia an ninh mạng Bwi Quang Minh đánh giá
là mô hình hữu ích cung cấp những giải pháp phần mềm để khxc phục nhữngtrường hợp quá tải trên mạng trong cấu tr Āc vâ vt lý
Mô hình mạng Client/ Server gồm 2 phần chính:
– Phần server – hoạt đô vng trên máy chủ
– Phần client – hoạt đô vng trên client
Nhiê vm vụ của từng phần:
– Client: Thông qua môi trường bên ngoài tại trạm làm việc và với phía Server,Client sẽ thực hiê vn viê vc giao tiếp với user, từ đó xác nhâ vn những thông tin từngười dwng rồi tạo lâ vp các query, truyền tới Server
– Server: Tiếp nhâ vn các query string ( chuỗi yêu cầu), sau đó phân tích cácquery string, tiếp nhâ vn xử lý dữ liê vu và gửi kết quả tới Clients
2 Mô hHnh an ninh mạng peer to peer
Mô hình an ninh mạng peer to peer có thể gọi là p2p có đặc điểm:
– Được bố trí theo nhóm workgroup
– Không có quá trình đăng nhâ vp tâ vp trung
Trang 5– Làm viê vc trong môi trường nhiều máy tính khác nhau, có thể chia s~ nhiều tâ vptin Tuy nhiên nếu bạn muốn mở file đó lên thì cần biết mâ vt kh•u của ngườidwng đã chia s~.
– Truy câ vp vào hê v thống máy in mà không cần máy chủ server
– Có thể kết nối 2 máy tính với nhau chỉ cần 1 cổng USB được dwng để truyền
tâ vp tin đi
– Có thể kết nối với nhiều máy tính với nhau trong cwng 1 văn phòng có kíchthước nhỏ
3 Mô hHnh Hybrid – mô hHnh an ninh mạng Hybrid lai
– Thực sự, mô hình Hybrid này ko phải là mô hình mới lạ Mô hình mạng máytính này hoạt đô vng dựa trên sự kết hợp giữa Client-Server và Peer to Peer.– Sau đây là bảng đánh giá những ưu, nhược điểm của mô hình mạng an toànnày:
Trang 6Mô hHnh mạng lai hybrid
Các mô hình mạng có máy chủ server sẽ được thực hiện 1 nhiệm vụ khác nhauchứ không tập trung riêng vào 1 nhiệm vụ chuyên biệt Ví dụ 1 máy chủ có thểthực hiện các nhiệm vụ khác nhau như: Mail server, file server, web server, FTPserver
Trang 7CHƯƠNG 2: TẤN CÔNG MẠNG
Trong lĩnh vực công nghệ thông tin, sự phát triển luôn đi kèm với rủi ro Bên cạnhnhững tiến bộ vượt bậc của công nghệ Điện Toán Đám Mây, Big Data, AI,… là những
vụ tấn công mạng xuất hiện thường xuyên hơn, gây hậu quả nặng nề cho người dwng
internet Tuy vậy, chưa nhiều người hiểu rõ được các khái niệm trong An toàn thông tin như: Tấn công mạng là gì? Hacker là ai? Làm sao để sử dụng internet an toàn,
chống lại các cuộc tấn công?
Bên cạnh đó bằng nhiều thủ đoạn, hình thức kỹ thuật tấn công và những công cụ
hỗ trợ tấn công ngày càng hiện đại, đem lại mối đe dọa cao cho hệ thống an toànthông tin
1: TỔNG QUAN VỀ TẤN CÔNG MẠNG
1.1 Tấn công mạng là gH?
Khái niệm Tấn công mạng (hoặc tấn công không gian mạng) trong tiếng Anh
là Cyber attack (hoặc Cyberattack), được ghép bởi 2 từ: Cyber (thuộc không gianmạng internet) và attack (sự tấn công, phá hoại)
Tấn công mạng là tất cả các hình thức xâm nhập trái phép vào một hệ thống máy tính, website, cơ sở dữ liệu, hạ tầng mạng, thiết bị của một cá nhân hoặc tổ
chức thông qua mạng internet với những mục đích bất hợp pháp.
Mục tiêu của một cuộc tấn công mạng rất đa dạng, có thể là vi phạm dữ liệu (đánh cxp, thay đổi, mã hóa, phá hủy), cũng có thể nhxm tới sự toàn vẹn cIa hệ thống (gây gián đoạn, cản trở dịch vụ), hoặc lợi dụng tài nguyên của nạn nhân (hiểnthị quảng cáo, mã độc đào tiền ảo)
Tấn công mạng khác với pentest (kiểm thử xâm nhập) Mặc dw cả 2 đều chỉviệc xâm nhập vào một hệ thống, tuy nhiên tấn công mạng là xâm nhập trái phép gây
hại cho nạn nhân, còn pentest là xâm nhập với mục đích tìm ra điểm yếu bảo mật trong hệ thống để khxc phục.
1.1.1 Tấn công chuỗi cung ứng khi cập nhật phần mềm
Tấn công chuỗi cung ứng khi cập nhật phần mềm là mối đe dọa mạng đang bxt đầunổi lên, bởi số lượng lây nhiễm mã độc khi cập nhật phần mềm có thể phát triển nhanhchóng và không dễ được phát hiện Những k~ tấn công thường nhxm mục tiêu vào cáckhu vực hoặc lĩnh vực cụ thể, ví dụ như các cuộc tấn công mã độc Petya/NotPetya.Kiểu tấn công này được thực hiện bằng cách cài mã độc vào gói phần mềm hợp pháptại vị trí phân phối thông thường của nó, có thể xảy ra trong quá trình sản xuất của nhàcung cấp phần mềm, tại vị trí lưu trữ của bên thứ ba hoặc thông qua chuyển hướng dữliệu
Khi các thông tin đó được chia s~, thì sẽ mất sự kiểm soát trực tiếp, dẫn đến việc tăngnguy cơ xâm phạm tính bảo mật, tính toàn vẹn hoặc tính sẵn sàng của thông tin
Trang 81.1.2 Tấn công lừa đảo
Tấn công lừa đảo là một loại tấn công kỹ nghệ xã hội được thiết kế để đánh cxpthông tin đăng nhập của người dwng, thông tin th~ tín dụng và các loại thông tin cánhân, kinh doanh hoặc tài chính khác Những cuộc tấn công này có thể đến từ mộtnguồn trông có v~ đáng tin cậy, như mạo danh các trang web, tổ chức ngân hàng phổbiến và đáng tin, hoặc từ các liên hệ cá nhân, nên các cuộc tấn công này ngày càng trởnên tiên tiến hơn và hiệu quả hơn
Việc nhập thông tin đăng nhập, nhấp vào liên kết hoặc trả lời email lừa đảo với nộidung chứa các chi tiết tài chính, thông tin sẽ được gửi trực tiếp đến nguồn độc hại
1.1.3 Mã độc tống tiền
Theo Gartner, mã độc tống tiền là một trong những mối đe dọa lớn nhất ảnh hưởngđến các doanh nghiệp trong hai năm qua Nó khai thác các lỗ hổng cơ bản bao gồmthiếu phân đoạn mạng và thiếu sao lưu
Với trung bình khoảng 4.000 cuộc tấn công mã độc tống tiền xảy ra mỗi ngày và ướctính rằng vào cuối năm 2019, cứ mỗi 14 giây sẽ có một cuộc tấn công mã độc tốngtiền vào các doanh nghiệp, thì việc xây dựng phòng thủ chống lại mã độc tống tiền là
ưu tiên hàng đầu Mã độc tống tiền có khả năng làm mất dữ liệu của công ty vĩnh viễn,
vì có thể lây nhiễm đến các dữ liệu mã hóa và các hệ thống cơ sở dữ liệu được bảo vệ,cũng như xóa hoặc làm hỏng các tập tin, trừ khi nạn nhân trả tiền chuộc
1.1.4 Tấn công có chI đích APT
Tấn công có chủ đích APT là chiến dịch tấn công mà tin tặc sử dụng những kỹ thuậtnâng cao nhxm vào mục tiêu cụ thể Các mục tiêu thường được lựa chọn là các tổchức doanh nghiệp lớn, cơ quan an ninh, chính phủ Mã độc có thể tồn tại trong mạngtrong một khoảng thời gian nhất định, đánh cxp các loại thông tin nhạy cảm khác nhaunhư thông tin tài chính, thông tin đăng nhập, các sáng chế và các thông tin tối mật,quan trọng của tổ chức
Tấn công APT thâm nhập thông qua tệp, email, mạng hoặc lỗ hổng ứng dụng, sau đóchèn mã độc vào mạng của tổ chức Mạng đó được coi là bị xâm phạm, nhưng chưa bị
vi phạm vì chưa được phát hiện
Bằng cách lấy cxp thông tin đăng nhập, tấn công APT có thể lây nhiễm các phần sâuhơn của mạng hoặc hệ thống, xâm phạm đến dữ liệu và có thể lây nhiễm sang cácmạng được kết nối với nhau Các bằng chứng của tấn công APT có thể được xóa bỏbởi tin tặc, trong khi đó mạng vẫn đang bị xâm phạm Tin tặc có thể quay lại mạng bất
cứ l Āc nào để tiếp tục xâm phạm dữ liệu
1.1.5 Tấn công botnet IoT từ chối dịch vụ phân tán (DDoS)
Mạng của các thiết bị IoT bị xâm phạm có thể được điều khiển từ xa và được
sử dụng để khởi chạy các cuộc tấn công trên quy mô lớn, có thể bao gồm hàng triệu
Trang 9thiết bị và máy tính, tạo ra các mạng botnet vô cwng mạnh mẽ Loại tấn công này trởnên phổ biến bởi tấn công botnet Mirai.
Các botnet được điều khiển bởi các mạng C&C Tin tặc điều khiển các mạngC&C này, từ đó có thể lợi dụng để khởi chạy các cuộc tấn công DDoS
Với việc sử dụng thiết bị IoT đang gia tăng nhanh chóng trong thế giới kết nốingày nay, mối đe dọa tấn công DDoS của botnet cũng tăng lên như vậy Do nhiều thiết
bị IoT thiếu các biện pháp bảo mật tích hợp, nên ch Āng đang được “tuyển mộ” vào cácmạng botnet và được sử dụng để khởi chạy các cuộc tấn công DDoS Với botnet Miraivẫn còn tương đối mới, thì cần đáng lưu ý là một số mạng botnet phụ vẫn đang hoạtđộng Tin tặc đang bxt đầu khởi động các cuộc tấn công botnet DDoS tương tự, lợidụng các thiết bị IoT được bảo mật kém
1.2 Đối tượng bị tấn công
Có thể là cá nhân, doanh nghiệp, các tổ chức chính phủ hoặc phi chính phủ, cơquan nhà nước, thậm chí đối tượng có thể là cả một quốc gia Tuy nhiên, đối tượngphổ biến nhất của các cuộc tấn công mạng là các doanh nghiệp Đơn giản vì mục tiêuchính của những k~ tấn công là vì lợi nhuận
1.3 Mục đích tấn công mạng
Bên cạnh những mục đích phổ biến như trục lợi phi pháp, tống tiền doanh nghiệp,hiện thị quảng cáo kiếm tiền, thì còn tồn tại một số mục đích khác phức tạp và nguyhiểm hơn: cạnh tranh không lành mạnh giữa các doanh nghiệp, tấn công an ninh hoặckinh tế của một quốc gia, tấn công đánh sập một tổ chức tôn giáo, v.v
Ngoài ra, một số hacker tấn công mạng chỉ để mua vui, thử sức, hoặc tò mò muốnkhám phá các vấn đề về an ninh mạng
2: CÁC KỸ THUẬT TẤN CÔNG CƠ BẢN
2.1 Tấn công khai thác lỗ hổng hệ điều hành:
Nguyên nhân:
Ngày 15/8, Cục An toàn Thông tin, Bộ Thông tin và Truyền thông đã cảnh báo vềhai lỗ hổng nghiêm trọng mới (có tên gọi CVE-2019-1181 và CVE-2019-1182) trongdịch vụ Remote Desktop ảnh hưởng tới nhiều phiên bản hệ điều hành Windows - hệ điềuhành thông dụng nhất của máy tính
Theo các chuyên gia công nghệ của Cục An toàn thông tin, đây là hai lỗ hổng điểmyếu an toàn thông tin mới được công bố, tồn tại trong dịch vụ truy cập máy tính từ xa(Remote Desktop Services) của hệ điều hành Windows Từ hai lỗ hổng này các đốitượng tấn công có thể thực thi mã từ xa để cài cxm mã độc và kiểm soát hệ thống mụctiêu Đặc biệt, chỉ cần một máy trong mạng bị cài cxm mã độc thì các máy khác trongcwng vwng mạng cũng có thể bị khai thác và cài cxm mã độc một cách tự động
Cách khắc phục:
Trang 10Để bảo đảm an toàn thông tin và phòng, chống các cuộc tấn công nguy hiểm, Cục Antoàn thông tin đề nghị các cơ quan, tổ chức, doanh nghiệp thực hiện cập nhật bản vá mớinhất.
Cán bộ quản trị hệ thống của các cơ quan, tổ chức cần rà soát toàn bộ máy tính, máychủ của đơn vị; tổng hợp danh sách thiết bị bị ảnh hưởng để cập nhật các bản vá lỗi chotừng sản ph•m mà Microsoft đã phát hành Cục An toàn thông tin khuyến nghị các đơn
vị sử dụng chức năng cập nhật bản vá tự động của Windows, khởi động lại máy sau khi
đã cập nhật Người sử dụng cần hạn chế tối đa việc mở cổng dịch vụ Remote Desktop.Trong trường hợp cần sử dụng phải thiết lập các chính sách bảo mật như: sử dụng VPN,giới hạn IP truy cập, tài khoản được phép truy cập, chính sách mật kh•u mạnh (mật kh•u
có tối thiểu 8 ký tự, có đầy đủ chữ hoa, chữ thường, số và ký tự đặc biệt) Các đơn vị, cánhân cần định kỳ sao lưu dữ liệu quan trọng trên máy chủ
2.2 Tấn công lỗ hổng SQL Injection :
Trong tất cả các cuộc tấn công nhằm vào website, tấn công SQL Injection là một trong những loại nguy hiểm và phổ biến nhất, nó đã gây ra những thiệt hại đáng kể cho nhiều doanh nghiệp và tổ chức trong những năm qua.
SQL injection – còn được gọi là SQLi – sử dụng những lỗ hổng trong các kênh đầuvào (input) của website để nhxm mục tiêu vào cơ sở dữ liệu nằm trong phần phụ trợcủa ứng dụng web, nơi lưu giữ những thông tin nhạy cảm và có giá trị nhất Ch Āng cóthể được k~ tấn công sử dụng để ăn cxp hoặc xáo trộn dữ liệu, cản trở sự hoạt độngcủa các ứng dụng, và, trong trường hợp xấu nhất, nó có thể chiếm được quyền truycập quản trị vào máy chủ cơ sở dữ liệu Dưới đây là những gì bạn cần biết về tấn côngSQL Injection và cách bảo vệ website của bạn khỏi ch Āng
Cách thức website bị tấn công SQL Injection:
Các cuộc tấn công SQL Injection được thực hiện bằng cách gửi lệnh SQL độc hạiđến các máy chủ cơ sở dữ liệu thông qua các yêu cầu của người dwng mà website chophép Bất kỳ kênh input nào cũng có thể được sử dụng để gửi các lệnh độc hại, baogồm các th~<input>, chuỗi truy vấn (query strings), cookie và tệp tin
Khi người dwng nhập thông tin đăng nhập của họ và nhấn vào n Āt “log in”, thôngtin sẽ được gửi lại cho máy chủ web của bạn, ở đó nó sẽ được kết hợp với một lệnhSQL Ví dụ, trong PHP, mã sẽ giống như sau:
Trang 11$sql_command="select * from users where username = '".$_POST['username'];
$sql_command.="' AND password = '".$_POST['password']."'";
Lệnh này sau đó sẽ được gửi đến một máy chủ cơ sở dữ liệu và tập dữ liệu kếtquả sẽ xác định xem username và password có tương ứng với một tài khoản ngườidwng hợp lệ hay không Ví dụ người dwng nhập “john” làm username và “123456”làm password sẽ chuyển mã trên thành lệnh sau:
SELECT * FROM users WHERE username='john' AND password='123456'
Lệnh kết quả sẽ là như sau:
SELECT * FROM users WHERE username='john' OR 1=1; ' ANDpassword='123456'
Kết quả trả về là thông tin đăng nhập của người dwng có tên là “john” mà không
Đây chỉ là một trong những hình thức đơn giản nhất của tấn công SQL Injection Vớimột vài thủ thuật, k~ tấn công có thể thêm tài khoản mới, và xóa hoặc sửa đổi thôngtin của các tài khoản người dwng hiện có Cwng một cách tấn công có thể được sửdụng để lấy cxp các bản hồ sơ và thông tin của người dwng nếu ch Āng không bị giớihạn cho khách truy cập hoặc để thay đổi nội dung hồ sơ.Trong các trường hợp nghiêm trọng hơn, khi kết nối với máy chủ cơ sở dữ liệu đượcthực hiện thông qua tài khoản quản trị (như “root” trong MySQL hoặc “sa” trong MSSQL Server), k~ tấn công có thể đi sâu vào hệ điều hành của máy chủ K~ tấn công sửdụng lỗ hổng SQL injection để cwng l Āc tạo tài khoản người dwng trên máy chủ bị xâmnhập, kích hoạt tính năng Remote Desktop, cài đặt thư mục chia s~ SMB và tải phầnmềm độc hại – ngoài việc làm rối tung mọi thứ đã được lưu trữ trong cơ sở dữ liệu
Làm sao để tự vệ với các cuộc tấn công SQL Injection:
Với vectơ chính cho các cuộc tấn công SQL Injection là các kênh input của ngườidwng, hầu hết các phương pháp phòng đều thủ liên quan đến kiểm soát input của
Dưới đây là một số biện pháp có thể đảm bảo an toàn cho input của người dwng
Đừng bao giờ tin tưởng vào input của người dùng
Quy txc đầu tiên về input mà người dwng nhập là “don’t trust and verify” (khôngtin tưởng và cần xác minh”), có nghĩa là tất cả những gì người dwng nhập vào phảiđược coi là độc hại trừ khi có bằng chứng khác Nó không chỉ dành cho các hộp nhậpliệu đơn giản như các vwng văn bản mà còn cho mọi thứ khác – như input •n, cácchuỗi tham số truy vấn, cookie và tệp tải lên
Browsers của trình duyệt không cho phép người dwng thao tác với một input,không nghĩa là nó không thể bị giả mạo Các công cụ đơn giản như Burp Suite chophép người dwng chiếm được HTTP requests và sửa đổi bất cứ điều gì, kể cả các giátrị dạng •n, trước khi gửi ch Āng tới máy chủ Và nếu bạn nghĩ mình là người thôngminh bằng cách sử dụng Base 64 mã hóa dữ liệu, bạn đã nhầm, nó có thể dễ dàngđược giải mã, sửa đổi và mã hoá lại bởi k~ tấn công
Xác nhận các chuỗi input ở phía máy chủ
Xác nhận là quá trình đảm bảo dữ liệu người dwng nhập vào là hợp lệ và vô hiệuhóa bất kỳ lệnh độc hại tiềm •n nào có thể được nh Āng trong chuỗi nhập Ví dụ, trong
Trang 12PHP, bạn có thể sử dụng mysql \ _real \ _escape \ _string () để thoát các ký tự có thểthay đổi bản chất của lệnh SQL.
Mã đăng nhập được đề cập trước đó sẽ được thay đổi như sau:
$con=mysqli_connect("localhost","user","password","db");
$username = mysqli_real_escape_string($con, $_POST['username']);
$password = mysqli_real_escape_string($con, $_POST['password']);
$sql_command = "select * from users where username = '" $username;
$sql_command = "' AND password = '" $password "'";
Sửa đổi đơn giản này sẽ bảo vệ mã của bạn khỏi cuộc tấn công SQL Injectionbằng cách thêm một ký tự thoát (\) phía trước dấu nháy đơn đã được k~ tấn công thêmvào
Sử dụng các câu lệnh tham số
Một lựa chọn tốt hơn để thoát khỏi tấn công SQL Injection là sử dụng các câulệnh tham số Các câu lệnh tham số được định nghĩa bằng cách thêm tên củaplaceholder vào các lệnh SQL, thứ sau này sẽ được thay thế bởi input của người dwng.ASP.NET có một bộ API rất trực quan và dễ sử dụng cho mục đích này
Đoạn mã sau, được viết bằng C#, cho thấy cách bạn có thể sử dụng các câu lệnhtham số để bảo vệ trang web của bạn khỏi tấn công SQL Injection:
SqlCommand cmd = new SqlCommand ("SELECT * FROM users WHEREusername=@username AND password=@password",con);
SqlParameter username = new SqlParameter(); username.ParameterName =
"@username"; username.value = txtUsername.Text; cmd.Parameters.Add(username);SqlParameter password = new SqlParameter(); password.ParameterName =
"@password"; password.value = txtPassword.Text; cmd.Parameters.Add(password);Bạn bxt đầu bằng cách tạo ra một SqlCommand object và sử
dụng placeholder @parameter_name trong chuỗi lệnh nơi mà dữ liệu người dwngnhập vào nên được chèn vào
Sau đó bạn tạo instance của các SqlParameter object, trong đó bạn chèn input củangười dwng, thay vì chèn trực tiếp nó vào chuỗi lệnh
Cuối cwng, bạn thêm SqlParameter object vào bộ tham số SqlCommand object, nó sẽthay thế các tham số bằng input được cung cấp
Phân định rõ ràng kiểu input
Mẹo này dành cho các ngôn ngữ như PHP, khi bạn thường không định nghĩa cáckiểu dữ liệu cho các biến số
Việc định nghĩa rõ ràng kiểu input như một cách để loại bỏ những dữ liệu có thểgây sai cho câu lệnh SQL Vì vậy, nếu bạn đang mong đợi người dwng nhập “int” chotham số “age”, bạn có thể đảm bảo sự an toàn của input với mã sau đây trong PHP:
$age = (int)$_POST['age'];
Lưu ý rằng đoạn mã này chỉ xác nhận kiểu của input chứ không phải phạm vi của
nó Vì vậy, bạn sẽ phải chạy mã khác để đảm bảo người dwng không nhập vào dữ liệu
Ngoài ra,hành động tốt nhất là tránh sử dụng các dấu nháy đơn trong các lệnh SQL khikhông có string được truyền vào Thay vì sử dụng mã sau đây …
$sql_command = "select * from users where age = " $age;
… sẽ an toàn hơn một ch Āt nếu sử dụng lệnh sau:
Trang 13$sql_command = "select * from users where age = '" $age "'";
Kết luận: SQL Injection đã tồn tại quanh ta trong nhiều thập kỷ và có thể sẽ tiếp tục
đứng đầu bảng xếp hạng các lỗ hổng nguy hiểm trong những năm tới Chỉ mất một vàibước dễ dàng –nhưng sẽ là một sự toan tính rất tốt – để bảo vệ chính bạn và ngườidwng của bạn khỏi sự tấn công này, và lỗ hổng này sẽ là một trong những ưu tiên hàngđầu khi kiểm tra mã nguồn cho các lỗ hổng bảo mật
Việc đầu tiên cần làm để tránh trở thành nạn nhân của cuộc tấn công tiếp theo về viphạm dữ liệu SQL injection là kiểm soát và xác nhận input của người dwng, tiếp theo
đó cần tự trang bị những công cụ cần thiết để bảo vệ cho website của mình một khi
ch Āng ghé thăm
2.3 Tấn công do hệ thống sử dụng mật khẩu yếu:
Đối với các cuộc tấn công mật kh•u, các hacker sẽ cố gxng "phá" mật kh•u đượclưu trữ trên cơ sở dữ liệu tài khoản hệ thống mạng hoặc mật kh•u bảo vệ các tập tin.Các cuộc tấn công mật kh•u bao gồm 3 loại chính: các cuộc tấn công dạng từ điển(dictionary attack), brute-force attack và hybrid attack
Cuộc tấn công dạng từ điển sử dụng danh sách các tập tin chứa các mật kh•u tiềmnăng
Mật khẩu yếu là gH?
Một mật kh•u yếu là một mật kh•u ngxn, phổ biến, một mặc định của hệ thốngcung cấp, hoặc một thứ gì đó có thể bị đoán ra nhanh chóng bằng cách thực thi tấncông vét cạn sử dụng một tập con của tất cả các mật kh•u khả dĩ, như các từ trong từđiển, tên riêng, những từ dựa trên tên người dwng hoặc những biến thể thông thườngcủa các từ đó Mật kh•u có thể bị dễ dàng đoán được dựa trên những hiểu biết vềngười dwng đó, như ngày tháng năm sinh và tên th Ā nuôi, cũng bị xem là yếuCác ví dụ về mật kh•u yếu:
rover—tên th Ā nuôi thông thường, cũng là một từ trong từ điển
12/3/75—ngày tháng, có thể quan trọng đối với cá nhân đó
Một mật kh•u có thể trở nên dễ đoán nếu người dwng chọn một m•u thông tin cánhân dễ khám phá (như mã số sinh viên, tên một người bạn, sinh nhật, số điện thoại,hoặc biển số xe) Dữ liệu cá nhân về một người nào đó hiện phổ biến ở nhiều nguồn,nhiều khi còn đưa lên mạng, và thường có thể lấy được bởi người khác khi sử dụngcác kỹ thuật lừa bịp, như đưa ra một bản lấy ý kiến hoặc một bản kiểm tra việc quản lý
an ninh
Trang 14Nguy cơ cao nhất của việc sử dụng mật kh•u ngxn hoặc dễ đoán đó là tiếp cậnhoặc tấn công từ những bạn bè của người dwng Trong khi tên không phổ biến lxm củamột con vật nuôi hoặc một nhân vật ưa thích trong trò chơi điện tử rất khó đoán đốivới một người hoàn toàn xa lạ và khó tìm thấy trong từ điển, thì một người bạn khi cóđiều gì bất bình rõ ràng sẽ có ít lựa chọn để đoán hơn hẳn và cũng chẳng cần đến sựtrợ gi Āp của máy tính để đoán được.
2.4 Tấn công kiểu lừa đảo:
Phishing là gH: Phishing (Tấn công giả mạo) là hình thức tấn công mạng mà k~ tấn
công giả mạo thành một đơn vị uy tín để lừa đảo người dwng cung cấp thông tin cánhân cho ch Āng
Thông thường, tin tặc sẽ giả mạo thành ngân hàng, trang web giao dịch trực tuyến,
ví điện tử, các công ty th~ tín dụng để lừa người dwng chia s~ các thông tin nhạy cảmnhư: tài khoản & mật kh•u đăng nhập, mật kh•u giao dịch, th~ tín dụng và các thôngtin quý giá khác
Phương thức tấn công này thường được tin tặc thực hiện thông qua email và tinnhxn Người dwng khi mở email và click vào đường link giả mạo sẽ được yêu cầuđăng nhập Nếu “mxc câu”, tin tặc sẽ có được thông tin ngay tức khxc
Phương thức phishing được biết đến lần đầu tiên vào năm 1987 Nguồn gốc của từPhishing là sự kết hợp của 2 từ: fishing for information (câu thông tin)
và phreaking (trò lừa đảo sử dụng điện thoại của người khác không trả phí) Do sự
giống nhau giữa việc “câu cá” và “câu thông tin người dwng”, nên thuậtngữ Phishing ra đời
2.4.1 Các phương thức tấn công phishing
Giả mạo email
Một trong những kỹ thuật cơ bản trong tấn công Phishing là giả mạo email Tintặc sẽ gửi email cho người dwng dưới danh nghĩa một đơn vị/tổ chức uy tín, dụ ngườidwng click vào đường link dẫn tới một website giả mạo và “mxc câu”
Những email giả mạo thường rất giống với email chính chủ, chỉ khác một vài chitiết nhỏ, khiến cho nhiều người dwng nhầm lẫn và trở thành nạn nhân của cuộc tấncông
Để làm cho nội dung email giống thật nhất có thể, k~ tấn công luôn cố gxng “ngụytrang” bằng nhiều yếu tố:
Địa chỉ người gửi (VD: địa chỉ đ Āng là sales.congtyA@gmail.com thì địa chỉgiả mạo có thể là sale.congtyA@gmail.com)
Chèn Logo chính thức của tổ chức để tăng độ tin cậy
Thiết kế các cửa sổ pop-up giống y hệt bản gốc (cả về màu sxc, font chữ,…)
Sử dụng kĩ thuật giả mạo đường dẫn (link) để lừa người dwng (VD: text
là vietcombank.com.vnnhưng khi click vào lại điều hướng tới vietconbank.com.vn)
Sử dụng hình ảnh thương hiệu của các tổ chức trong email giả mạo để tăng độtin cậy
Trang 15Mánh khóe tinh vi của k~ tấn công Phishing khiến nạn nhân dễ dàng tin tưởng vàđăng nhập.
Giả mạo Website
Thực chất, việc giả mạo website trong tấn công Phishing chỉ là làm giả mộtLanding page chứ không phải toàn bộ website Trang được làm giả thường là trangđăng nhập để cướp thông tin của nạn nhân Kỹ thuật làm giả website có một số đặcđiểm sau:
Thiết kế giống tới 99% so với website gốc
Đường link (url) chỉ khác 1 ký tự duy nhất
Vượt qua các bộ lọc Phishing
Hiện nay, các nhà cung cấp dịch vụ email như Google hay Microsoft đều cónhững bộ lọc email spam/phishing để bảo vệ người dwng Tuy nhiên những bộ lọc nàyhoạt động dựa trên việc kiểm tra văn bản (text) trong email để phát hiện xem email đó
có phải phishing hay không Hiểu được điều này, những k~ tấn công đã cải tiến cácchiến dịch tấn công Phishing lên một tầm cao mới Ch Āng thường sử dụng ảnh hoặcvideo để truyền tải thông điệp lừa đảo thay vì dwng text như trước đây Người dwngcần tuyệt đối cảnh giác với những nội dung này
2.4.2 Cách phòng chống phishing:
Đối với cá nhân
Để tránh bị hacker sử dụng tấn công Phishing để lừa đảo trên Internet, thu thập
dữ liệu cá nhân, thông tin nhạy cảm của bạn Hãy lưu ý những điểm sau :
Cảnh giác với các email có xu hướng thúc giục bạn nhập thông tin nhạy cảm.Cho dw lời kêu gọi có hấp dẫn thế nào đi chăng nữa thì vẫn nên kiểm tra kỹ càng VD: