n công, CCáác kc kỹỹ thuthuậật tt tấấn công,
xâm nhậập hp hệệ ththốốngng xâm nh
PGS. TSKH. Hoàng Đăng Hải
Học viện Công nghệ Bưu chính Viễn thông (PTIT)
Email: hoangdanghai@hn.vnn.vn
2012
Sự phát triển của tấn công mạng
Xu thế (cid:131) Kết hợp worms, viruses
và DDoS
(cid:131) Tống tiền, Tin tặc (cid:131) Các tấn công trên 10
Gbps, tập đoàn Botnet với 150,000+ node
(cid:131) Thiếu trí tuệ trong quản
lý mạng “cloud” khiến chi phí tăng nhanh
(cid:131) Từ bỏ băng thông khi
giải quyết vấn đề là quá lãng phí và tốn kém
Một số khái niệm
(cid:132) Kẻ xâm nhập (Intruder)
(cid:131) Thường gọi là tin tặc (hacker), cracker /buglar (đạo chích) (cid:131) Kẻ trộm/đánh cắp thông tin (Information Theft) (cid:131) Cybercrime (tội phạm mạng), Compromiser (kẻ gây hại)
(cid:132) Lỗ hổng an ninh (Security hole), điểm yếu (Vulnerability), khiếm khuyết (Flaw)
(cid:131) Lỗi khi thiết kế: không lường trước khả năng (cid:131) Điểm yếu tiềm ẩn: luôn có trong mọi hệ thống (cid:131) Lỗi khai thác: cấu hình không chặt chẽ, lỗi khi hoạt động
(cid:132) Đe dọa (Threat), Tấn công (Attack)
(cid:131) Thường dùng để chỉ cùng 1 hành vi xâm hại đến an ninh hệ thống
(cid:132) Rủi ro (risk)
(cid:131) risk = threat x vulnerability x asset value
(cid:132) Biện pháp an ninh (Security measure), cơ chế an ninh (security mechanism)
(cid:131) Biện pháp/cơ chế để phát hiện, ngăn ngừa, phòng chống, sửa chữa
(cid:132) Dịch vụ an ninh (Security service)
(cid:131) Dịch vụ tăng cường an ninh cho hệ thống xử lý và truyền tải thông tin thông qua
các biện pháp an ninh
Phân loạại ti tấấn công m Phân lo
n công mạạngng
n công c tiêu tấấn công
Competitor destruction (cid:131) Product Advertisement (cid:131) Avenger (cid:131) Terrorism (cid:131) Account hacking / Bank robber (cid:131) …
(cid:153)(cid:153) MMụục tiêu t (cid:131) Joking (cid:131) Hacker: data stealing / spy / military spy (cid:131) Company Competition: business plan/strategy.
• Giả mạo (fabrication) - destroys authenticity of source • (Sửa đổi) modification - destroys integrity of information • Ngăn chặn (interception) - of information (traffic), breaches confidentiality • Gián đoạn (interruption) - of service
(cid:153)(cid:153) LoLoạại ti tấấn công n công
in addressbook ⇒ Network deadlock
(cid:131) Internet Worm 1989: in Security Center of DoD. Unix Shell Attack.
(cid:153)(cid:153) Examples Examples (cid:131) Happy Christmas 1987: in IBM network. Email sent to everybody with addresses found
Security Attacks Security Attacks
ấy nội dung bản tin
ượng: theo dõi chu kỳ, chiều dài bản tin,
đoán mã kênh truyền ệ thống
(cid:131) Phân tích thông tin h
(cid:153)(cid:153) Passive Passive (cid:131) Nghe lén (Eavesdropping): lén l (cid:131) Phân tích lưu l kể cả phỏng
(cid:131) Giả danh (Masquerade): Darth giả danh Bob (cid:131) Replay: bắt giữ, giả mạo và chuyển tiếp bản tin (cid:131) Sửa đổi bản tin (cid:131) Ngăn chặn dịch vụ
(cid:153)(cid:153) Active Active
5 giai đoạn của quá trình phá hoại
Tìm cách thiết lập kết nối, khai thác thông tin máy tính, dịch vụ Dò tìm điểm yếu trong hệ thống và các ứng dụng. Tin tặc khảo sát máy nạn nhân và các dịch vụ trong một khoảng thời gian dài sử dụng các lưu lượng như hoạt động bình thường của máy. • Khai thác (Exploitation)
Quá trình lợi dụng, biến đổi, làm sai lệch hoạt động của các dịch vụ trên máy nạn nhân. Biến đổi dịch vụ kéo theo thay đổi chế độ hoạt động và điều kiện truy nhập. • Tăng cường (Reinforcement)
Giai đoạn tin tặc giành quyền truy nhập trái phép, tăng cường khả năng truy nhập, sử dụng công cụ để truy xét nạn nhân, che dấu hành vi...
• Trinh sát (Reconnaissance)
Tin tặc tạo ra cửa hậu, trao đổi thông tin qua cửa hậu, giành toàn bộ quyền điều khiển.
• Củng cố (Consolidation)
Giai đoạn thực hiện kế hoạch phá hoại: đánh cắp thông tin nhạy cảm, tạo bàn đạp tiến sâu vào mạng người dùng, thực hiện các ý đồ định sẵn...
• Tàn phá (Pillage)
PhPhầần mn mềềm mã đ
c (Malicious Software) m mã độộc (Malicious Software)
• Các nguy cơ/điểm yếu: được khởi động bởi 1 trigger (không lây lan) • Các phần mềm tự sinh (tự tạo các bản copy = lây lan)
CCửửa sau ho
p (Backdoor or Trapdoor) a sau hoặặc cc cửửa sa sậập (Backdoor or Trapdoor)
t chương trììnhnh
•• XuXuấất pht pháát đi •• Cho ph t điểểm vm vàào bo bíí mmậật tt tớới mi mộột chương tr nh thạạo truy c o truy cậập vp vàào ho hệệ ththốống mng màà không c không cầần n
Cho phéép mp mộột kt kỹỹ thuthuậật viên th ththựực hic hiệện cn cáác thc thủủ ttụục an to t viên thàành th c an toààn thông thư n thông thườờng.ng.
i, kiểểm thm thửử phphầần mn mềềm khi ph t triểển.n.
logic BomBom logic
•• ThưThườờng sng sửử ddụụng cho m •• TrTrởở ththàành nguy cơ khi v ng cho mụục đc đíích gch gỡỡ rrốối, ki nh nguy cơ khi vẫẫn đn đểể ttồồn tn tạại li lạại trong s m khi pháát tri i trong sảản phn phẩẩm phm phầần mn mềềm. m.
•• MMộộtt trong •• Code trong nhnhữữngng phphầầnn mmềềmm ccóó hhạạii kikiểểuu ccổổ đi điểểnn trong chương chương trtrììnhnh hhợợpp phphááp,p, đư đượợcc kkííchch hohoạạtt khikhi ggặặpp
ng/thờờii giangian ccụụ ththểể
Code đưđượợcc nhnhúúngng trong điđiềềuu kikiệệnn xxáácc đđịịnhnh –– CCóó mmặặtt hohoặặcc vvắắngng mmặặtt mmộộtt ssốố filefile –– NgNgààyy ththááng/th –– NgưNgườờii ssửử ddụụngng nnààoo đđóó
•• KhiKhi kkííchch hohoạạtt thông thông thưthườờngng llààmm hhỏỏngng hhệệ ththốống, ng, BiBiếếnn đđổổi/xoi/xoáá file/ file/đđĩĩaa, , llààmm
ddừừngng mmááyy,,……
NgNgựựaa ththàànhnh TơTơ roaroa (Trojan ch, hấấp dp dẫẫn (n (trò chơi
Horse) (Trojan Horse) ch, nâng cấấp php phầần mn mềềm,m,……)) , tiệện n íích, nâng c n mã ẩẩn vn vớớii ccáácc ttáácc đđộộngng phphụụ đưđượợcc ddấấuu kkíínn
Chương trtrììnhnh hhữữu u íích, h trò chơi, ti
•• Chương •• ChChứứa ca cáác đoc đoạạn mã •• KhiKhi chchạạyy ththựựcc hihiệệnn nhnhữữngng nhinhiệệmm vvụụ bbổổ sung: Cho sung: Cho phphéépp kkẻẻ ttấấnn công công gigiáánn
titiếếpp ddàànhnh quyquyềềnn truytruy ccậậpp nhnhữững gng gìì không không ththểể trtrựựcc titiếếpp
•• ThưThườờngng ssửử ddụụngng lanlan truytruyềềnn virrus/sâu virrus/sâu (worm) (worm) hohoặặcc ccààii đđặặtt ccửửaa sau, ho sau, hoặặcc
Zombie Zombie chương trtrììnhnh bbíí mmậậtt điđiềềuu khikhiểểnn mmááyy ttíínhnh khkháác cc củủaa mmạạngng Internet, s
đơnđơn gigiảảnn phpháá hohoạạii ddữữ liliệệu.u.
•• LLàà chương
ddụụngng nnóó đđểể gigiáánn titiếếpp titiếếnn hhàànhnh ccáácc ttấấnn công, che d
công ttừừ chchốốii ddịịchch vvụụ (DDoS).
ng trăm mááy không b y không bịị nghi v Internet, sửử công, che dấấu mu mááy ty tạạo ra Zombie. o ra Zombie. (DDoS). ThưThườờng tng tạạo o n công dồồn dn dậập p
c tiêu qua việệc gc gửửi di dồồn dn dậập yêu c nghi vấấn, tn, tấấn công d u lưu lượợng.ng.
•• ThưThườờngng đưđượợc sc sửử ddụụngng đđểể ttấấnn công ththàành mnh mạạng gng gồồm hm hààng trăm m website mụục tiêu qua vi website m •• ThưThườờng khai ng khai ththáácc ccáácc llỗỗ hhổổngng trong p yêu cầầu lưu lư trong ccáácc hhệệ ththốống nng nốối mi mạạng.ng.
Viruses Viruses lây nhiễễmm”” sang c
•• LLàà đo đoạạn mã ph n mã phầần mn mềềm cm cóó ththểể ““lây nhi c qua sang cáác phc phầần mn mềềm khm kháác qua
viviệệc sc sửửa đa đổổi chi chúúng.ng.
•• SSửửa đa đổổi phi phầần mn mềềm khm kháác bao g c bao gồồm vim việệc copy đo c copy đoạạn mã virus v lây n mã virus vàào vo vàà lây
c chương trìình kh nh kháác.c.
a virus HoHoạạt đt độộng cng củủa virus chương ch hoạạt (vt (víí ddụụ ngngàày, y, chương m im chờờ ssựự kikiệện kn kíích ho
m sang cáác chương tr nhinhiễễm sang c ng virus sinh họọc, virus m •• GiGiốống virus sinh h •• LanLan truytruyềền, thn, thựực hic hiệện mn mọọi chi chứức năng c n sinh (replicated). c, virus mááy ty tíính cnh cóó ththểể ssựự ssảản sinh (replicated). c năng cóó ththểể (v(víí ddụụ phpháá hohoạạii ddữữ liliệệu).u).
nh, dung lư
n lây lan: sao chéép chp chíính nnh nóó sang c sang cáác chương tr c chương trìình kh nh kháác /ph c /phầần n
ch hoạạt: tht: thựực hic hiệện chn chứức năng g y ra. n khi cóó ssựự kikiệện xn xảảy ra.
c thi: thựực hic hiệện hn hàành vi mong mu Đa sốố khai th khai tháác cc cáác đc đặặc c
Giai đoạạn nn nằằm chm chờờ: n: nằằm im ch •• Giai đo trtrìình, d ung lượợng đng đĩĩaa……).). Giai đoạạn lây lan: sao ch •• Giai đo khkháác cc củủa ha hệệ ththốống.ng. Giai đoạạn kn kíích ho •• Giai đo Giai đoạạn thn thựực thi: th •• Giai đo trưng, , điđiểểm ym yếếu chu chủủ yyếếu cu củủa ha hệệ ththốống cng cụụ ththểể đang ch trưng c năng gàài si sẵẵn khi c nh vi mong muốốn.n. Đa s đang chạạy.y.
c Viruses CCấấu tru trúúc Viruses
{loop: {loop: file; executable--file; random--executable
loop file = 1234567) then gotogoto loop
damage; pulled then do--damage;
program V := program V := {{gotogoto main;main; 1234567; 1234567; executable := subroutine infect--executable := subroutine infect file := get--random file := get if (first--lineline--ofof--file = 1234567) then if (first V to file; } prepend V to file; } else prepend else damage := {whatever damage is to be done} subroutine do--damage := {whatever damage is to be done} subroutine do subroutine trigger--pulled := {return true if condition holds} pulled := {return true if condition holds} subroutine trigger executable; {infect--executable; program := main: main--program := {infect main: main if trigger--pulled then do if trigger next;} gotogoto next;}
next: next:
}}
Các hình thái tấn công DDoS
(cid:131) Đột phá cục bộ theo dây chuyền
(cid:131) Tiêu hủy tài nguyên cục bộ
– Khai thác hệ điều hành, phá rối hoạt động server
(cid:131) Từ chối cấp dịch vụ cho các máy trạm
– fork() bomb, fill disks, deep directory nesting
(cid:131) Tạo các đột phá từ xa theo dây chuyền – “magic” packets – ping of death, teardrop
(cid:131) Tiêu hủy tài nguyên từ xa
– Gây các đột phá hoặc ngừng các dịch vụ quan trọng
– syslog, SYN, fragment flood, UDP storm
Các hình thái tấn công DDoS (2)
(cid:131) Từ chối dịch vụ trên toàn mạng
(cid:131) Điều khiển ngừng mạng từ xa – Tấn công routers, DNS servers – Lái tuyến – Giả mạo thông tin định tuyến
(cid:131) Gây nghẽn mạng từ xa
– Nhắm tới các links sơ hở hoặc cơ sở hạ tầng thông tin trọng yếu
– Giả danh broadcasts – smurf, fraggle – Điều khiển từ xa các máy tính gây hại – máy tính ma (“zombies”)
Các tấn công chuyển hướng từ từng máy đơn lẻ sang cơ sở hạ tầng mạng !
để phối hợp gây tràn - DDoS
Các kỹ thuật gây rối của tấn công DDoS
(cid:131) Distributed attacks
(cid:131) Các thử nghiệm mới đây cho thấy, một máy tính không có bảo vệ
trên Internet có thể bị tấn công trong vòng < 8 phút.
– Điều khiển từ xa đội quân zombies
(cid:131) Gây rối trong vết kiểm chứng mạng
– Phản xạ IP
(cid:131) Gây rối trong dấu hiệu tấn công
– Giả mạo/Nhái lại (Forged/”spoofed”) địa chỉ IP gốc – Thay đổi tần suất tấn công (on/off) – Nghi binh (Decoys)
– Bắt chước lưu lượng hợp pháp (e.g. TCP ACK flood) – Hóa trang với lưu lượng hợp pháp
Tất cả các kỹ thuật này nhằm bẻ gẫy mọi phương pháp theo dấu vết kiểu thủ công và tránh các IDS thông dụng
Xu thế mới của DoS Attacks
(cid:131) Tấn công tràn dựa vào mạng
(cid:131) Nhái các mạng con cục bộ
– Khi các lỗ hổng được vá, khó lòng tìm ra các host xung yếu
(cid:131) Tấn công đường lưu lượng lên
– Các bộ lọc ingress / egress phổ biến hơn
(cid:131) Đánh và chạy (Hit-and-run)
– Nhắm tới các upstream routers & links
(cid:131) Kỹ thuật phân tán
– Gây tràn sốc (pulsing / short-lived floods) – Sử dụng nhiều đội quân zombie theo chu kỳ
– Phân tán rộng khắp, các đội quân zombie rộng khắp
Xu thế mới của DoS Attacks (2)
(cid:131) Gây rối trong dấu vết kiểm chứng mạng
– Thay đổi đặc tính một số giao thức ứng dụng – Tái lập các
(cid:131) Biến đổi dấu hiệu tấn công
truy vấn DNS, etc.
(cid:131) Tấn công định tuyến hạ tầng mạng
– Dùng address, protocol, port ngẫu nhiên
các đội quân zombie – recent Internet worms and viruses – Microsoft Outlook, IE, IIS, SMB
– Chặn cướp tuyến BGP route phục vụ khởi động tấn công (cid:131) Tự động tuyển mộ thêm (automated conscription)
Trình tự tấn công DDoS
A. Một lượng lớn máy tính bị hại
B. Tin tặc xác định được các máy có thể lợi dụng với các
kỹ thuật dò quét (scanners), etc.
C. Tin tặc truy nhập hệ thống với các công cụ từ xa:
exploits, sniffers, password cracking, worms, trojans
D. Tin tặc cài đặt các công cụ tấn công
E. Tin tặc ra lệnh từ xa cho các máy bị hại được tập hợp
để tấn công vào mục tiêu
Distributed DoS Attack (DDoS)
(cid:131) Phối hợp tấn công vào các Links và tài nguyên trọng yếu
DNS
(cid:131) Tấn công vào hạ tầng định tuyến
Example: Smurf Attack
Reflector Network
2.2.2.*
SRC
DST
SRC
DST
3.3.3.100 2.2.2.255
2.2.2.*
3.3.3.100
Attacker 1.1.1.100
Target 3.3.3.100
• Mô hình đơn giản: gửi các gói yêu cầu echo giả mạo ICMP tới các địa chỉ IP broadcast
trong một mạng tin cậy.
• Mọi hosts của mạng này gửi 1 trả lời ICMP tới địa chỉ IP giả mạo của nạn nhân
• Khi hầu như mọi máy của mạng phản hồi yêu cầu ICMP echo này, mạng bị tắc nghẽn
và tê liệt.
ICMP Echo Request ICMP Echo Replies
Ví dụ: TCP SYN Flood
(cid:131) Tuần tự quá trình thiết lập 1 kết nối TCP (3-way handshake)
CLOSED
CLOSED
SYN
SYN
SYN_SENT
SYN_RCVD
+ ACK ACK
Server
Client
ESTABLISHED
ESTABLISHED
Ví dụ: TCP SYN Flood (cont.)
Attacker
Server
SYN
SYN
ACK
SYN SYN SYN
SYN
SYN
SYN_RCVD SYN_RCVD SYN_RCVD SYN_RCVD SYN_RCVD SYN_RCVD SYN_RCVD
ACK
SYN
SYN
SYN
SYN_RCVD SYN_RCVD
ACK
• Nếu sau khi server gửi SYN + ACK response, client không gửi ACK response (cid:198) half-open
• •
connection Server tạo trong bộ nhớ một kiến trúc dữ liệu chứa mọi kết nối mở (cid:198) Timeout Tin tặc gây ra memory overflow, khiến server crash hoặc không thể chấp nhận mọi kết nối mới cho đến khi xóa hết bảng dữ liệu
• Vị trí giả danh IP trong hệ thống bị tấn công được che đậy, vì các địa chỉ nguồn trong các gói tin SYN thường đều không rõ ràng. Khi gói tin đến hệ thống máy chủ nạn nhân, không có cách gì để xác định ra nguồn gửi thực sự.
Listen Queue
Các biện pháp phòng chống DDoS
(cid:131) Ingress / Egress filtering ( anti-spoofing )
(cid:131) Strict / Loose RPF (Reverse Path Forwarding) (cid:131) Black lists / White lists (cid:131) Policy based Filter
(cid:131) Rate limiting (cid:131) ICMP etc..
(cid:131) Stateful defenses ( e.g. tcp intercept ) (cid:131) Patch vulnerable hosts and services (cid:131) Provisioning and capacity planning (cid:131) Packet filtering on provider side of WAN links
Xử lý, phản ứng với tấn công DDoS
Ba bước quan trọng:
(cid:131) Phát hiện
(cid:131) Xác định phương pháp của tin tặc và các tài
nguyên bị tác động.
(cid:131) Tìm cách cô lập vùng tài nguyên bị lợi dụng
(cid:131) Truy xét dấu vết
(cid:131) Xác định nguồn phát, đường đi, chặng
chuyển tiếp… (cid:131) Giảm thiểu thiệt hại
(cid:131) Xác định lưu lượng nào cần chặn, tốt nhất
chặn ở đâu…
Các chiến lược giảm thiểu DDoS
• Unicast Reverse Path Forwarding (uRPF)
• Rate Limiting
– Sử dụng uRPF chặt chẽ – Chống giả mạo địa chỉ IP – Tránh lạm dụng uRPF và BGP ở toàn bộ border routers
• ACL
– Hạn chế tốc độ lưu lượng tấn công: ICMP, UDP, TCP SYN – Theo dõi các quy trình giao thức không bình thường! – Đảm bảo chính sách QoS thông qua BGP (special community)
• Tạo hố bẫy, đường tránh (Blackhole / Sinkhole / Shunt)
– Lọc ra các lưu lượng tập trung vào một máy đích
– Lọc từng cấp, tạo bẫy, truy vấn điều tra…
Ví dụ về giảm thiểu DDoS
Customer
Customer Portal or Operator
< back
Ví dụ về giảm thiểu DDoS
Customer
Customer Portal or Operator
Ví dụ về giảm thiểu DDoS
bẫy
H ố
Customer
Customer Portal or Operator
Ví dụ về giảm thiểu DDoS
bẫy
H ố
A C L/ H ạn chếtốc độ
Customer
Customer Portal or Operator
Ví dụ về giảm thiểu DDoS Xu thế kết hợp nhiều biện pháp tối ưu hơn !
bẫy
H ố
A C L/ H ạn chếtốc độ
B ộlọc thông minh
Customer
Customer Portal or Operator
DarkIP
• Các hành vi sử dụng Dark Address Space để gửi thông tin đến các vùng địa
chỉ IP dành cho việc khác, hoặc chưa được sử dụng.
• Việc sử dụng Dark Address Space xảy ra do một số nguyên nhân:
– Lập sai cấu hình Router – Hành vi bất thường của một ứng dụng – Lập sai cấu hình mạng – Hành vi quét cổng trái phép – Hành vi tấn công của Worm trên mạng…
Ứng dụng DarkIP
• Lưu lượng tăng với Dark IP có thể biểu thị khả năng lan truyền Worm trên
mạng, hoặc hành vi quét mạng để tuyển mộ đội quân Zombie
• Dữ liệu tạo ra từ Dark IP thường được sử dụng để:
– Xác định dấu vết new zero day worms – Xác định nguồn phát của worm – Tạo ra danh dách các máy bị lây nhiễm
Hành vi bất thường định trước và không định trước
(cid:131) Hành vi bất thường định trước biểu thị sai lệch mức lưu lượng bình thường. Thường do tấn công gây ra. Hành vi này cần được xem xét tiếp để xác định mức độ nguy hại.
(cid:131) Hành vi bất thường không định trước có thể xảy ra khi một máy nào đó không tuân thủ các quy ước truyền thông. Lỗi xảy ra có thể do tấn công, hoặc do lỗi mạng. Do đó cần truy xét để tìm đúng nguyên nhân.
Các hành vi bất thường không định trước
• •
Syn floods, ICMP floods, IP fragments
•
Đa số tin tặc sử dụng để tấn công một máy đích nào đó trên mạng. Các kiểu gói tin thường sử dụng: – Các gói tin thường thuộc nhóm: IP Null, TCP Null, Private IP –
Theo dõi hành vi bất thường
Graph shows a spike in the traffic levels Anomaly is high severity with a very high % of threshold High severity protocol anomalies for protocols other than TCP
High severity incoming anomalies towards a single host anomalies are usually more likely to be malicious
Botnets • Tin tặc phát triển các công cụ phát tán tự động (sử dụng botnets,…) cho phép chúng gửi các tấn công tới các máy trung gian trong cùng 1 thời gian, làm tất cả các máy trung gian gửi phản hồi trực tiếp tới 1 máy nạn nhân.
• Tin tặc phát triển các công cụ để quan sát các router trên mạng không sử dụng các bộ lọc để lọc broadcast traffic, phát hiện các mạng cho phép nhiều máy cùng có khả năng trả lời đồng thời. Các mạng này thường được dùng làm trung gian cho các cuộc tấn công.
Dictionary Attack – cracking of authentication passwords
• Các mật mã xác thực được chứa trong một file (trên Unix /
Windows), thường được mã hóa với một thuật toán chống phá khóa (ví dụ MD5) (Thuật toán một chiều).
• Người dùng đăng nhập mật khẩu, mật khẩu được mã hóa và so
sánh với bản mã hóa ghi sẵn trong máy.
• Brute force attack: tin tặc sử dụng phương pháp quét toàn bộ
các khả năng (dictionary attack) tìm kiếm các khả năng giải mã xuất phát từ một danh sách các từ trong từ điển.
• Người dùng thường sử dụng các mật khẩu thông dụng dễ bị
phá: – Sử dụng từ, chữ cái thông thường – Sử dụng các cụm từ thông dụng….
Dictionary Attack
• Dictionary attacks thường được áp dụng trong 2 trường hợp sau:
– Khi phân tích mật mã, phương pháp này tìm kiếm khả năng xác định
chìa khóa giải mã cho một cụm từ mã cho trước.
– Khi nối mạng, tìm cách lừa gạt cơ chế xác thực để thực hiện truy nhập
trái phép vào máy tính bằng cách đoán mật khẩu.
• Tin tặc có khả năng kiếm bản copy danh sách các mật khẩu đã mã hóa từ
một hệ thống máy ở xa. Tin tặc sẽ sử dụng phương pháp Dictionary attacks để dò tìm mật khẩu theo thói quen của người dùng (qua dò tìm mọi thông tin về người dùng), so sánh mật khẩu với đoạn mã đã copy được.
• Thực tế cho thấy, người dùng thường sử dụng mật khẩu cho dễ nhớ. Nếu sử
dụng một tập danh sách đủ lớn, xác suất tìm ra mật khẩu là 4/10.
• Dictionaries hiện có trên Internet cho mọi ngôn ngữ, dễ dàng truy cập, dễ
dàng được sử dụng để dò tìm mật khẩu theo phương pháp này.
Mã hóa 1 chiều cho mật khẩu được ghi trong file mật khẩu
username Encrypted password
Alix.Bergeret ADSNUYTGHLKLLL
Client
Matthew.Green NJKFFDSHPTTDRD
Alix.Bergeret
Ian.Coulson VFGMNBDEQQASU
ADSNUYTGHLKLLL
Brendan.Riordan VHGUIOUIYEDRDT
Chris.Dennett CXZAASWEWEDFD
Andy.Sloane MLOPIUYTRFFGHJ
Mary.Garvey MNJTYUUIFVCXFG
Brian.Penfold REDERFGGGHYTR
Mật khẩu được mã hóa bởi Client với cùng 1 thuật toán khi gửi qua mạng Nếu các giá trị Hash bằng nhau, Client được xác thực!
Password authentication server
Ưu nhược điểm của Dictionary attacks
• Tin tặc có thể mã hóa và lưu trữ danh sách các từ mã hóa kiểu từ điển, sắp xếp chúng theo từ khóa ‘value’ đã mã hóa. – Phương pháp này tiêu tốn nhiều bộ nhớ, thường mất nhiều thời gian chuẩn bị và tính toán. Tuy nhiên, phương thức này có thể tạo ra tấn công gần như tức thì.
– Phương pháp này đặc biệt hiệu quả khi cần giải mã
một số lượng mật khẩu lớn cùng lúc.
Tin tặc thường ghi danh sách các mật khẩu thường được sử dụng và chuyển chúng cho một thuật toán, sắp xếp chúng theo thứ tự alphabet.
username
Encrypted password
Alix.Bergeret
ADSNUYTGHLKLLL
Word
Hashed word
cricket
ABVGTHYULPMMN
Matthew.Green
NJKFFDSHPTTDRD
football
ADSNUYTGHLKLLL
Ian.Coulson
VFGMNBDEQQASU
england
CFTGERHTYUUUU
Brendan.Riordan
VHGUIOUIYEDRDT
sister
QRTSNDCNCNNNN
christopher
RTSGHWEREEEDM
Chris.Dennett
CXZAASWEWEDFD
charlie
STTHHHHHERERE
Andy.Sloane
MLOPIUYTRFFGHJ
louise
NMZOAOWJBHEEU
Mary.Garvey
MNJTYUUIFVCXFG
Crackers sorted list of hashed words
Brian.Penfold
REDERFGGGHYTR
Password list
Easy to determine Alix.Begeret password by comparing hash values
RIP attacks
• Routing Information Protocol (RIP) attacks thường thấy trong các bộ router cài đặt phiên bản chuẩn của RIP. • RIP được sử dụng để phân phát thông tin định tuyến
trong mạng, ví dụ các tuyến ngắn nhất, các tuyến quảng bá từ mạng nội bộ ra ngoài…
• Phiên bản chuẩn của RIP không có phần xác thực.
Thông tin cung cấp trong bản tin RIP thường được sử dụng mà không có sự kiểm tra xác thực lại chính nó.
RIP attacks • Tin tặc có thể giả mạo 1 bản tin RIP, ví dụ xác định máy “X”
có tuyến ngắn nhất ra ngoài mạng.
• Mọi gói tin gửi ra từ mạng này sẽ được định tuyến qua “X”.
Máy X có thể kiểm soát, sửa đổi gói tin.
• Tin tặc có thể sử dụng RIP để bắt chước bất kỳ host nào, làm
mọi lưu lượng gửi đến máy tin tặc thay vì gửi đến host này.
• Phiên bản RIPv2 đã cải thiện hơn với thuật toán xác thực mật
khẩu đơn giản, làm cho việc tấn công qua RIP khó khăn hơn.
• Giải pháp IPsec VPN cũng cung cấp khả năng mã hóa thông tin
định tuyến qua các routers sử dụng IPsec VPN.
Packet Sniffing
• NIC cards thường chỉ xử lý các gói tin (MAC) nhằm tới
máy chứa NIC này. Toàn bộ lưu lượng trong mạng không có switch được gửi tới tất cả các máy tính.
• Software/hardware được thiết kế sẵn sàng để làm việc đó. • Nếu NIC cards được cấu hình “Promiscuous” thì nó có thể
bắt và xử lý mọi gói tin đi trên mạng con.
• Điều đó nghĩa là có thể xem được nội dung toàn bộ các gói
tin truyền trên mạng (1 số giao thức như FTP, Telnet, HTTP, SMTP, POP3 gửi các mật khẩu dưới dạng clear text). Ngoài ra, còn nhiều thông tin khác có thể bị khai thác.
• Thực tế, các bộ switch chỉ cho phép gói tin đến đúng máy đích. Tuy nhiên, tin tặc có nhiều cách để bắt được các gói tin này…
Hai cách để “vượt qua” Switch
(cid:198)Spoof ARP và MAC Flooding
• Spoof ARP là phương pháp "thủ công". ARP là address resolution protocol, dùng để "map" IP address và MAC address. Vì ARP là 1 dạng stateless protocol nên nó có thể bị lừa khá dễ dàng.
• Phương pháp thường được sử dụng là giả mạo Gateway, làm
cho toàn bộ lưu lượng từ máy A (máy nạn nhân) đi đến Gateway phải đi qua máy B của tin tặc trước.
• Công cụ phổ biến là: Arpspoof, dsniff
ARP Spoofing
Tin tặc dùng các chương trình như arpspoof để thay đổi danh tính của 1 host, để nhận toàn bộ thông tin qua mạng.
ARP spoofing steps
1. Set your machine to forward packets:
Linux: echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/ip_forward BSD: sysctl -w net.inet.ip.forwarding=1 2. Start arpspoofing (using two terminal windows) arpspoof -t 149.160.x.x 149.160.y.y arpspoof -t 149.160.y.y 149.160.x.x
3. Start sniffing
ngrep host 149.160.x.x | less OR Dsniff | less
i: 1) Static ARP table; 2) ARPWatch ĐĐểể chchốống lng lạại: 1) Static ARP table; 2) ARPWatch
MAC Flooding
• MAC Flooding là một kỹ thuật đầu độc ARP Cache hướng
tới tấn công các switch trên mạng.
• Khi một bộ switch bị đánh tràn, nó sẽ trở thành một “Hub”
thuần túy !
• Trong chế độ “Hub”, bộ switch sẽ không thể thực thi bất
kỳ tính năng bảo mật gì, sẵn sàng quảng bá mọi gói tin đến mọi máy trên mạng con.
• Tin tặc có thể đánh tràn bảng ARP của bộ Switch với các gói tin ARP phản hồi giả mạo, tiếp đó đặt Switch vào chế độ “Hub” để bắt toàn bộ các gói tin. • Một công cụ điển hình là Macof, dsniff
Giả mạo (Spoofing) Tin tặc thay đổi danh tính để những người dùng khác tin rằng hắn là ai đó trong só họ: – Email, User ID, IP Address, … – Tin tặc khai thác quá trình xác thực giữa người dùng và hệ thống/mạng để chiếm quyền điều khiển. Kiểu Spoofing: 1.IP Spoofing: 2.Email Spoofing 3.Web Spoofing
Giả mạo IP – Thay đổi địa chỉ IP gốc
•• Phương ph
Phương phááp qup quéét lt léén ln lúút gi
t giảả mmạạo đo địịa cha chỉỉ
– Trước khi tấn công máy nạn nhân, tin tặc tìm cách quét hệ thống để tìm
khai thác thông tin nhiều nhất về máy nạn nhân.
– Firewall, IDS có thể phát hiện quá trình quét này, có thể cảnh báo về nguy
cơ tấn công.
– Tin tặc tìm cách che dấu hành vi quét mạng bằng cách sử dụng các
datagrams giả mạo từ một giải địa chi IP (không từ một địa chỉ IP cố
định) để che mắt Firewall, IDS.
IP Spoofing – Flying-Blind Attack
Attacker uses IP address of another computer to acquire information or gain access
Replies sent back to 10.10.20.30
Spoofed Address 10.10.20.30
John 10.10.5.5
• Attacker changes his own IP address to
From Address: 10.10.20.30 To Address: 10.10.5.5
spoofed address
• Attacker can send messages to a
machine masquerading as spoofed machine
• Attacker can not receive messages from
that machine
Attacker 10.10.50.50
IP Spoofing – Source Routing
Tin tặc giả mạo địa chỉ IP (10.10.20.30), chèn vào giữa 2 máy để bắt các gói tin trả lời.
Attacker intercepts packets as they go to 10.10.20.30
From Address: 10.10.20.30 To Address: 10.10.5.5
Replies sent back to 10.10.20.30
Spoofed Address 10.10.20.30
John 10.10.5.5
Attacker 10.10.50.50
Đường đi của gói tin có thể thay đổi theo thời gian •
Để chắc chắn chèn vào giữa trong quá trình, tin tặc sử dụng source •
routing để đảm bảo gói tin luôn đi qua các nút xác định trước trên
mạng.
Tin tặc gửi các gói tin broadcast tới mạng tin cậy
Router
Ping (broadcast address)
Victim
Các trạm host trả lời lại địa chỉ IP bị giả mạo của nạn nhân
Email Spoofing
Tin tặc gửi mail giả mạo ai đó và chờ tin phản hồi?
Các kiểu Email Spoofing:
1. Create an account with similar email address
2. Modify a mail client
– Sanjaygoel@yahoo.com: giả danh các địa chỉ quen thuộc
3. Telnet to port 25
– Tin tặc chèn địa chỉ reply tự động vào mail gửi đi
– Hầu hết các mail server đều sử dụng cổng 25 cho SMTP. –
Tin tặc đón gói tin đến cổng này, sau đó thay đổi bản tin gửi đến người dùng.
Web Spoofing
•
Basic –
•
Tin tặc đăng ký một địa chỉ Web gần giống với địa chỉ khác gây nhầm lẫn cho người dùng. Man-in-the-Middle Attack – –
•
URL Rewriting –
Tin tặc giả lập một Proxy giữa Web server và client. Tin tặc tấn công vào Router hoặc nút mạng chuyển tiếp lưu lượng tương ứng giữa Web server và client.
•
Tin tặc chuyển hướng web traffic tới một trang khác được chúng kiểm soát. Tin tặc ghi chèn địa chỉ Web của nó trước đường link hợp thức.
– Tracking State –
Khi người dùng login vào một trang có duy trì xác thực. Tin tặc lấy cắp thông tin xác thực để giả mạo người dùng.
Cướp phiên (Session Hijacking)
Quá trình chiếm quyền sử dụng phiên làm việc đang tồn tại.
Phương thức:
1. Người dùng tạo kết nối với Server thông qua xác thực
với user ID and password.
2. Sau quá trình xác thực người dùng, họ truy nhập vào
server cho đến khi kết thúc phiên làm việc.
3. Tin tặc sử dụng DoS để làm tê liệt phiên làm việc.
4. Tin tặc chiếm quyền điều khiển phiên của người dùng
với vai trò giả danh người dùng.
Session Hijacking
Bob telnets to Server
Bob authenticates to Server
Server
Bob
Die!
Hi! I am Bob
Attacker
Hành vi của tin tặc: Giám sát phiên Gửi liên tiếp lệnh chèn giữa các lần gửi yêu cầu truy nhập của user Chèn tấn công passive/active vào phiên
– – –
Các kỹ thuật chống giả mạo địa chỉ
Các quy tắc lọc gói tin của Border routers
• Quy tắc 1: Không để lọt các gói tin đi ra xuất phát từ một địa chỉ IP gốc không
thuộc phạm vi ISP (rfc2827)
• Quy tắc 2: Không để lọt các gói tin đi vào với địa chỉ IP gốc thuộc phạm vi
ISP.
AS of neighbouring ISP 204.12.15.0
AS for my ISP 171.85.0.0
• Quy tắc 1 là quy tắc cơ bản nhất, thường được sử dụng để chống tấn công DoS
Buffer Overflow Attacks
• •
Tấn công lợi dụng cách ghi và lưu trữ thông tin Tin tặc tìm cách ghi thông tin vào Stack nhiều hơn dung lượng bộ nhớ cho phép.
How does it work?
Fill Direction
Bottom of Memory
Bottom of Memory
Fill Direction
Buffer 1 Space Overwritten
• Buffer 2 Local Variable 2 Buffer 1 Local Variable 1
Return Pointer Overwritten
Return Pointer
Function Call Arguments •
• Buffer 2 Local Variable 2 Machine Code: execve(/bin/sh) New Pointer to Exec Code Function Call Arguments •
Top of Memory
Top of Memory
Stack đã bị tấn công Stack bình thường
Password Attacks
• Lợi dụng các mật khẩu kém và các kết nối mạng (qua
•
modem) không có kiểm soát. Steps – Tin tặc tìm kiếm số Phone của công ty. – Tin tặc thực hiện chương trình quay số tự động
• Ví dụ: số điện thoại 555-5532, thì sẽ thực thi quay mọi số trong
khoảng 555-55xx để tìm số modem.
• Nếu một modem trả lời tín hiệu, tin tặc ghi nhận số modem. – Tin tặc sử dụng user ID và password để vào mạng Cty:
• Nhiều Cty sử dụng default accounts ví dụ: temp, anonymous không có
password.
• Khá nhiều Cty sử dụng tên công ty làm root account và password • Tin tặc sử dụng các công cụ password cracking để dò tìm password.
Password Security
Client
Server
Hashed Password
Hash Function
Hashed Password
Compare Password
Password
Salt
Stored Password
Allow/Deny Access
• Băm Password và lưu trữ
– Thêm Salt để tạo password ngẫu nhiên và lưu trữ vào máy.
• Chạy các chương trình phá Password để crack.
Password Attacks - Types
• Dictionary Attack
•
• Hybrid Attack
•
– Hacker tries all words in dictionary to crack password 70% of the people use dictionary words as passwords – Brute Force Attack – Try all permutations of the letters & symbols in the alphabet
•
People write passwords in different places People disclose passwords naively to others
• Dumpster Diving
– Words from dictionary and their variations used in attack Social Engineering – – Shoulder Surfing – Hackers slyly watch over peoples shoulders to steal passwords
–
People dump their trash papers in garbage which may contain information to crack passwords