Tải bản đầy đủ (.pdf) (58 trang)

Kỹ thuật tấn công và xâm nhập hệ thống

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.11 MB, 58 trang )

PGS. TSKH. Hoàng Đăng Hải
Học viện Công nghệ Bưu chính Viễn thông (PTIT)
Email:
2012
C
C
á
á
c k
c k


thu
thu


t t
t t


n công,
n công,
xâm nh
xâm nh


p h
p h


th


th


ng
ng
Sự phát triển của tấn công mạng
Xu thế
 Kết hợp worms, viruses
và DDoS
 Tống tiền, Tin tặc
 Các tấn công trên 10
Gbps, tập đoàn Botnet
với 150,000+ node
 Thiếu trí tuệ trong quản
lý mạng “cloud” khiến chi
phí tăng nhanh
 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
 Kẻ xâm nhập (Intruder)
 Thường gọi là tin tặc (hacker), cracker /buglar (đạo chích)
 Kẻ trộm/đánh cắp thông tin (Information Theft)
 Cybercrime (tội phạm mạng), Compromiser (kẻ gây hại)
 Lỗ hổng an ninh (Security hole), điểm yếu (Vulnerability), khiếm khuyết (Flaw)
 Rủi ro (risk)
 Đe dọa (Threat), Tấn công (Attack)
 Lỗi khi thiết kế: không lường trước khả năng
 Điểm yếu tiềm ẩn: luôn có trong mọi hệ thống
 Lỗi khai thác: cấu hình không chặt chẽ, lỗi khi hoạt động

 Thường dùng để chỉ cùng 1 hành vi xâm hại đến an ninh hệ thống
 Biện pháp an ninh (Security measure), cơ chế an ninh (security mechanism)
 Dịch vụ an ninh (Security service)
 Biện pháp/cơ chế để phát hiện, ngăn ngừa, phòng chống, sửa chữa
 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
 risk = threat x vulnerability x asset value
Phân lo
Phân lo


i t
i t


n công m
n công m


ng
ng
 Joking
 Hacker: data stealing / spy / military spy
 Company Competition: business plan/strategy.
Competitor destruction
 Product Advertisement
 Avenger
 Terrorism
 Account hacking / Bank robber
 …



M
M


c tiêu t
c tiêu t


n công
n công
• 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


Lo
Lo


i t
i t


n công
n công



Examples
Examples
 Happy Christmas 1987: in IBM network. Email sent to everybody with addresses found
in addressbook ⇒ Network deadlock
 Internet Worm 1989: in Security Center of DoD. Unix Shell Attack.
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


Passive
Passive
 Nghe lén (Eavesdropping): lén l
 Phân tích lưu l
kể cả phỏng
 Phân tích thông tin h


Active
Active
 Giả danh (Masquerade): Darth giả danh Bob
 Replay: bắt giữ, giả mạo và chuyển tiếp bản tin
 Sửa đổi bản tin
 Ngăn chặn dịch vụ
5 giai đoạn của quá trình phá hoại
• Trinh sát (Reconnaissance)
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.
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.
• 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
• Củng cố (Consolidation)
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.
• Tàn phá (Pillage)
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
Ph
Ph


n m
n m


m mã đ
m mã đ



c (Malicious Software)
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)
C
C


a sau ho
a sau ho


c c
c c


a s
a s


p (Backdoor or Trapdoor)
p (Backdoor or Trapdoor)


Xu
Xu



t ph
t ph
á
á
t đi
t đi


m v
m v
à
à
o b
o b
í
í
m
m


t t
t t


i m
i m


t chương tr

t chương tr
ì
ì
nh
nh


Cho ph
Cho ph
é
é
p m
p m


t k
t k


thu
thu


t viên th
t viên th
à
à
nh th
nh th



o truy c
o truy c


p v
p v
à
à
o h
o h


th
th


ng m
ng m
à
à
không c
không c


n
n
th
th



c hi
c hi


n c
n c
á
á
c th
c th


t
t


c an to
c an to
à
à
n thông thư
n thông thư


ng.
ng.


Thư

Thư


ng s
ng s


d
d


ng cho m
ng cho m


c đ
c đ
í
í
ch g
ch g


r
r


i, ki
i, ki



m th
m th


ph
ph


n m
n m


m khi ph
m khi ph
á
á
t tri
t tri


n.
n.


Tr
Tr


th

th
à
à
nh nguy cơ khi v
nh nguy cơ khi v


n đ
n đ


t
t


n t
n t


i l
i l


i trong s
i trong s


n ph
n ph



m ph
m ph


n m
n m


m.
m.
Bom
Bom
logic
logic


M
M


t
t
trong
trong
nh
nh


ng

ng
ph
ph


n
n
m
m


m
m
c
c
ó
ó
h
h


i
i
ki
ki


u
u
c

c


đi
đi


n
n


Code
Code
đư
đư


c
c
nh
nh
ú
ú
ng
ng
trong
trong
chương
chương
tr

tr
ì
ì
nh
nh
h
h


p
p
ph
ph
á
á
p,
p,
đư
đư


c
c
k
k
í
í
ch
ch
ho

ho


t
t
khi
khi
g
g


p
p
đi
đi


u
u
ki
ki


n
n
x
x
á
á
c

c
đ
đ


nh
nh


C
C
ó
ó
m
m


t
t
ho
ho


c
c
v
v


ng

ng
m
m


t
t
m
m


t
t
s
s


file
file


Ng
Ng
à
à
y
y
th
th
á

á
ng/th
ng/th


i
i
gian
gian
c
c


th
th




Ngư
Ngư


i
i
s
s


d

d


ng
ng
n
n
à
à
o
o
đ
đ
ó
ó


Khi
Khi
k
k
í
í
ch
ch
ho
ho


t

t
thông
thông
thư
thư


ng
ng
l
l
à
à
m
m
h
h


ng
ng
h
h


th
th


ng,

ng,
Bi
Bi
ế
ế
n
n
đ
đ


i/xo
i/xo
á
á
file/
file/
đ
đ
ĩ
ĩ
a
a
,
,
l
l
à
à
m

m
d
d


ng
ng
m
m
á
á
y
y
,
,


Ng
Ng


a
a
th
th
à
à
nh
nh



roa
roa
(Trojan
(Trojan
Horse)
Horse)


Chương
Chương
tr
tr
ì
ì
nh
nh
h
h


u
u
í
í
ch, h
ch, h


p d

p d


n (
n (
trò chơi
trò chơi
, ti
, ti


n
n
í
í
ch, nâng c
ch, nâng c


p ph
p ph


n m
n m


m,
m,



)
)


Ch
Ch


a c
a c
á
á
c đo
c đo


n mã
n mã


n v
n v


i
i
c
c
á

á
c
c
t
t
á
á
c
c
đ
đ


ng
ng
ph
ph


đư
đư


c
c
d
d


u

u
k
k
í
í
n
n


Khi
Khi
ch
ch


y
y
th
th


c
c
hi
hi


n
n
nh

nh


ng
ng
nhi
nhi


m
m
v
v


b
b


sung: Cho
sung: Cho
ph
ph
é
é
p
p
k
k



t
t


n
n
công
công
gi
gi
á
á
n
n
ti
ti
ế
ế
p
p
d
d
à
à
nh
nh
quy
quy



n
n
truy
truy
c
c


p
p
nh
nh


ng g
ng g
ì
ì
không
không
th
th


tr
tr


c

c
ti
ti
ế
ế
p
p


Thư
Thư


ng
ng
s
s


d
d


ng
ng
lan
lan
truy
truy



n
n
virrus/sâu
virrus/sâu
(worm)
(worm)
ho
ho


c
c
c
c
à
à
i
i
đ
đ


t
t
c
c


a

a
sau, ho
sau, ho


c
c
đơn
đơn
gi
gi


n
n
ph
ph
á
á
ho
ho


i
i
d
d


li

li


u.
u.
Zombie
Zombie


L
L
à
à
chương
chương
tr
tr
ì
ì
nh
nh
b
b
í
í
m
m


t

t
đi
đi


u
u
khi
khi


n
n
m
m
á
á
y
y
t
t
í
í
nh
nh
kh
kh
á
á
c c

c c


a
a
m
m


ng
ng
Internet, s
Internet, s


d
d


ng
ng
n
n
ó
ó
đ
đ


gi

gi
á
á
n
n
ti
ti
ế
ế
p
p
ti
ti
ế
ế
n
n
h
h
à
à
nh
nh
c
c
á
á
c
c
t

t


n
n
công, che d
công, che d


u m
u m
á
á
y t
y t


o ra Zombie.
o ra Zombie.


Thư
Thư


ng
ng
đư
đư



c s
c s


d
d


ng
ng
đ
đ


t
t


n
n
công
công
t
t


ch
ch



i
i
d
d


ch
ch
v
v


(DDoS).
(DDoS).
Thư
Thư


ng t
ng t


o
o
th
th
à
à
nh m

nh m


ng g
ng g


m h
m h
à
à
ng trăm m
ng trăm m
á
á
y không b
y không b


nghi v
nghi v


n, t
n, t


n công d
n công d



n d
n d


p
p
website m
website m


c tiêu qua vi
c tiêu qua vi


c g
c g


i d
i d


n d
n d


p yêu c
p yêu c



u lưu lư
u lưu lư


ng.
ng.


Thư
Thư


ng khai
ng khai
th
th
á
á
c
c
c
c
á
á
c
c
l
l



h
h


ng
ng
trong
trong
c
c
á
á
c
c
h
h


th
th


ng n
ng n


i m
i m



ng.
ng.
Viruses
Viruses


L
L
à
à
đo
đo


n mã ph
n mã ph


n m
n m


m c
m c
ó
ó
th
th





lây nhi
lây nhi


m
m


sang c
sang c
á
á
c ph
c ph


n m
n m


m kh
m kh
á
á
c qua
c qua
vi

vi


c s
c s


a đ
a đ


i ch
i ch
ú
ú
ng.
ng.


S
S


a đ
a đ


i ph
i ph



n m
n m


m kh
m kh
á
á
c bao g
c bao g


m vi
m vi


c copy đo
c copy đo


n mã virus v
n mã virus v
à
à
o v
o v
à
à
lây

lây
nhi
nhi


m sang c
m sang c
á
á
c chương tr
c chương tr
ì
ì
nh kh
nh kh
á
á
c.
c.


Gi
Gi


ng virus sinh h
ng virus sinh h


c, virus m

c, virus m
á
á
y t
y t
í
í
nh c
nh c
ó
ó
th
th


s
s


s
s


n sinh (replicated).
n sinh (replicated).


Lan
Lan
truy

truy


n, th
n, th


c hi
c hi


n m
n m


i ch
i ch


c năng c
c năng c
ó
ó
th
th


(v
(v
í

í
d
d


ph
ph
á
á
ho
ho


i
i
d
d


li
li


u).
u).
Ho
Ho


t đ

t đ


ng c
ng c


a virus
a virus


Giai đo
Giai đo


n n
n n


m ch
m ch


: n
: n


m im ch
m im ch



s
s


ki
ki


n k
n k
í
í
ch ho
ch ho


t (v
t (v
í
í
d
d


ng
ng
à
à
y,

y,
chương
chương
tr
tr
ì
ì
nh, d
nh, d
ung lư
ung lư


ng đ
ng đ
ĩ
ĩ
a
a


).
).


Giai đo
Giai đo


n lây lan: sao ch

n lây lan: sao ch
é
é
p ch
p ch
í
í
nh n
nh n
ó
ó
sang c
sang c
á
á
c chương tr
c chương tr
ì
ì
nh kh
nh kh
á
á
c /ph
c /ph


n
n
kh

kh
á
á
c c
c c


a h
a h


th
th


ng.
ng.


Giai đo
Giai đo


n k
n k
í
í
ch ho
ch ho



t: th
t: th


c hi
c hi


n ch
n ch


c năng g
c năng g
à
à
i s
i s


n khi c
n khi c
ó
ó
s
s


ki

ki


n x
n x


y ra.
y ra.


Giai đo
Giai đo


n th
n th


c thi: th
c thi: th


c hi
c hi


n h
n h
à

à
nh vi mong mu
nh vi mong mu


n.
n.
Đa s
Đa s


khai th
khai th
á
á
c c
c c
á
á
c đ
c đ


c
c
trưng
trưng
,
,
đi

đi


m y
m y
ế
ế
u ch
u ch


y
y
ế
ế
u c
u c


a h
a h


th
th


ng c
ng c



th
th


đang ch
đang ch


y.
y.
C
C


u tr
u tr
ú
ú
c Viruses
c Viruses
program V :=
program V :=
{
{
goto
goto
main;
main;
1234567;

1234567;
subroutine infect
subroutine infect
-
-
executable :=
executable :=
{loop:
{loop:
file := get
file := get
-
-
random
random
-
-
executable
executable
-
-
file;
file;
if (first
if (first
-
-
line
line
-

-
of
of
-
-
file = 1234567) then
file = 1234567) then
goto
goto
loop
loop
else
else
prepend
prepend
V to file; }
V to file; }
subroutine do
subroutine do
-
-
damage := {whatever damage is to be done}
damage := {whatever damage is to be done}
subroutine trigger
subroutine trigger
-
-
pulled := {return true if condition holds}
pulled := {return true if condition holds}
main: main

main: main
-
-
program :=
program :=
{infect
{infect
-
-
executable;
executable;
if trigger
if trigger
-
-
pulled then do
pulled then do
-
-
damage;
damage;
goto
goto
next;}
next;}
next:
next:
}
}
Các hình thái tấn công DDoS

 Đột phá cục bộ theo dây chuyền
– Khai thác hệ điều hành, phá rối hoạt động server
 Tiêu hủy tài nguyên cục bộ
– fork() bomb, fill disks, deep directory nesting
 Từ chối cấp dịch vụ cho các máy trạm
– Gây các đột phá hoặc ngừng các dịch vụ quan trọng
 Tạo các đột phá từ xa theo dây chuyền
– “magic” packets – ping of death, teardrop
 Tiêu hủy tài nguyên từ xa
– syslog, SYN, fragment flood, UDP storm
 Từ chối dịch vụ trên toàn mạng
– Nhắm tới các links sơ hở hoặc cơ sở hạ tầng thông tin trọng yếu
 Đ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
 Gây nghẽn mạng từ xa
– 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”)
để phối hợp gây tràn - DDoS
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 !
Các hình thái tấn công DDoS (2)
Các kỹ thuật gây rối của tấn công DDoS
 Distributed attacks
– Điều khiển từ xa đội quân zombies
 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.
– Phản xạ IP
 Gây rối trong vết kiểm chứng mạ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)
 Gây rối trong dấu hiệu tấn công
– 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
 Tấn công tràn dựa vào mạng
– Khi các lỗ hổng được vá, khó lòng tìm ra các host xung yếu
 Nhái các mạng con cục bộ
– Các bộ lọc ingress / egress phổ biến hơn
 Tấn công đường lưu lượng lên
– Nhắm tới các upstream routers & links
 Đánh và chạy (Hit-and-run)
– Gây tràn sốc (pulsing / short-lived floods)
– Sử dụng nhiều đội quân zombie theo chu kỳ
 Kỹ thuật phân tán
– Phân tán rộng khắp, các đội quân zombie rộng khắp
 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
truy vấn DNS, etc.
 Biến đổi dấu hiệu tấn công
– Dùng address, protocol, port ngẫu nhiên
 Tấn công định tuyến hạ tầng mạng
– Chặn cướp tuyến BGP route phục vụ khởi động tấn công
 Tự động tuyển mộ thêm (automated conscription)
các đội quân zombie
– recent Internet worms and viruses
– Microsoft Outlook, IE, IIS, SMB

Xu thế mới của DoS Attacks (2)
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)
 Phối hợp tấn công vào các Links và tài nguyên trọng yếu
DNS
 Tấn công vào hạ tầng định tuyến
Example: Smurf Attack
Reflector Network
SRC DST
3.3.3.100 2.2.2.255
SRC DST
2.2.2.* 3.3.3.100
ICMP Echo Request
3.3.3.100
2.2.2.*
ICMP Echo Replies
Target
1.1.1.100
Attacker
• 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.
Ví dụ: TCP SYN Flood
S
Y
N
S
Y
N
+
A
C
K
A
C
K
Client
Server
CLOSED
CLOSED
SYN_SENT
ESTABLISHED
ESTABLISHED
SYN_RCVD
 Tuần tự quá trình thiết lập 1 kết nối TCP (3-way handshake)
Ví dụ: TCP SYN Flood (cont.)
ServerAttacker
S
Y
N

S
Y
N
A
C
K
S
Y
N
S
Y
N
S
Y
N
S
Y
N
S
Y
N
S
Y
N
S
Y
N
A
C
K

S
Y
N
A
C
K
SYN_RCVD
SYN_RCVD
SYN_RCVD
SYN_RCVD
SYN_RCVD
SYN_RCVD
SYN_RCVD
SYN_RCVD
Listen Queue
SYN_RCVD
•Nếu sau khi server gửi SYN + ACK response, client không gửi ACK response Æ 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ở Æ 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ự.
Các biện pháp phòng chống DDoS
 Ingress / Egress filtering ( anti-spoofing )
 Strict / Loose RPF (Reverse Path Forwarding)
 Black lists / White lists
 Policy based Filter
 Rate limiting

 ICMP etc
 Stateful defenses ( e.g. tcp intercept )
 Patch vulnerable hosts and services
 Provisioning and capacity planning
 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:
 Phát hiện
 Xác định phương pháp của tin tặc và các tài
nguyên bị tác động.
 Tìm cách cô lập vùng tài nguyên bị lợi dụng
 Truy xét dấu vết
 Xác định nguồn phát, đường đi, chặng
chuyển tiếp…
 Giảm thiểu thiệt hại
 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)
–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
• Rate Limiting
–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)
•ACL
–Lọc ra các lưu lượng tập trung vào một máy đích
•Tạo hố bẫy, đường tránh (Blackhole / Sinkhole / Shunt)
–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

×