Thứ Bảy, 15 tháng 3, 2014

Nghiên cứu và xây dựng một vài chương trình tấn công trên mạng Internet qua giao thức Telnet


LINK DOWNLOAD MIỄN PHÍ TÀI LIỆU "Nghiên cứu và xây dựng một vài chương trình tấn công trên mạng Internet qua giao thức Telnet": http://123doc.vn/document/1040076-nghien-cuu-va-xay-dung-mot-vai-chuong-trinh-tan-cong-tren-mang-internet-qua-giao-thuc-telnet.htm





-

5

-

một cách độc lập với liên kết vật lý của mạng. Một liên mạng đã khá quen thuộc
với chúng ta là mạng Internet


1.1.2 Mạng Internet
Internet là một tổ hợp hàng triệu máy được kết nối với nhau thông qua
giao thức TCP/IP để có thể chia sẻ thông tin với nhau, trong đó có đủ loại máy
tính, và chúng sử dụng nhiều hệ điều hành khác nhau.Thông tin trên Internet
gồm đủ loại từ thư điện tử (Email), các File đồ hoạ đến Video và còn nhiều
thông tin khác được cung cấp bởi những người sử dụng Internet.
Những máy chủ (Host) mạnh thường sử dụng những hệ điều hành đa
nhiệm, ví dụ như UNIX, để người sử dụng kết nối vào. Những máy chủ được
định vị tại các điểm như thư viện, các trường đại học, các tổ chức, các đại lý, các
công ty trên toàn thế giới. Những máy chủ này được kết nối với nhau qua đường
điện thoại và chỉ mất khoảng 640/1000 giây để bắt đầu nhận thông báo từ Bắc
Mỹ tới Nam cực.
1.1.2.1 Các dịch vụ mức ứng dụng ban đầu trên Internet
- Thư điện tử (Electronic mail) Cho phép người dùng ngồi trước máy tính
tại nhà mình gửi E-mail tới bất cứ ai ở đâu trên thế giới nếu họ có địa chỉ E-mail.
Họ có thể tham gia các nhóm thảo luận (Discussion group) về những đề tài khác
nhau hay bắt đầu một nhóm mới về những chủ đề mà họ ưa thích.
- Truyền file (File Transfer) Nếu cần một chương trình phần mềm mới
như các tiện ích nén file, các chương trình diệt virus, một phần mềm trò chơi,
hình ảnh hay âm thanh, người dùng có thể tải xuống bất cứ lúc nào với File
Transfer.



-

6

-

- Truy nhập từ xa (Remote login) Có lẽ điều thú vị nhất trong các ứng
dụng của Internet là Remote login, nó cho phép người dùng kết nối vào một máy
tính ở xa như một trạm cuối để sử dụng máy tính đó.
1.1.2.2 Dịch vụ mức mạng của Internet
Một lập trình viên viết chương trình ứng dụng trên Internet cần có một
cái nhìn khác với người chỉ đơn giản sử dụng dịch vụ Internet. Ở tầng mạng,
Internet cung cấp 2 kiểu dịch vụ mà các ứng dụng của Internet thường dùng đó
là:
- Dịch vụ truyền không kết nối (Connectionless Paket Delivery Service)
là một phương thức truyền dữ liệu mà các mạng chuyển mạch gói cung cấp.
Điều này chỉ đơn giản là mạng Internet chuyển các gói tin từ máy này sang máy
khác dựa vào thông tin địa chỉ của gói đến đích của nó. Việc chia nhỏ gói tin
truyền này có một ưu điểm là nếu một đường đi bị bận hoặc bị đứt, thì các gói có
thể được truyền theo một đường khác.
- Dịch vụ truyền tin cậy (Reliable Stream Transport Service) Phần lớn
các ứng dụng đòi hỏi nhiều dịch vụ hơn chỉ truyền thông không kết nối bởi vì
chúng cần tự động sửa lỗi, kiểm tra tính toàn vẹn của thông tin truyền đi trên
mạng.
1.1.3 Giao thức truyền thông và mô hình tham chiếu OSI
1.1.3.1 Giao thức truyền thông
Các máy tính trên mạng có thể trao đổi thông tin với nhau thông qua một
bộ những phần mềm cùng làm việc theo một chuẩn nào đó. Giao thức truyền
thông (Protocol) là tập hợp các quy tắc quy định phương thức truyền nhận thông
tin giữa các máy tính trên mạng.
Các mạng máy tính hiện đại được thiết kế bằng cách phân chia cấu trúc ở
mức độ cao nhằm làm giảm sự phức tạp khi thiết kế. Các giao thức mạng thường



-

7

-

được chia làm các tầng (Layer), mỗi tầng được xây để dựng dựa trên dịch vụ của
tầng dưới nó và cung cấp dịch vụ cho tầng cao hơn.
1.1.3.2 Mô hình tham chiếu OSI(Open Systems Interconect Referent
model)
Mô hình mạng máy tính do tổ chức tiêu chuẩn hoá quốc tế (International
Standard Organization - ISO) đưa ra năm 1983 được gọi là mô hình tham chiếu
các hệ thống mở (Open Systems Interconect referent model - OSI). Mô hình
tham chiếu OSI chứa 7 tầng mô tả chức năng của giao thức truyền thông. Mỗi
tầng của mô hình OSI miêu tả một chức năng được thực hiện khi dữ liệu di
chuyển giữa các ứng dụng giữa các mạng.

Virtual Communication













Hình 1. Mô hình tham chiếu OSI
Session

Presentation

Physical

Data Link

Network

Transport

Application

Application

Session

Presentation

Physical

Data Link

Network

Transport




-

8

-

Các lớp giao thức được xếp chồng lớp nọ trên lớp kia. Chính sự xuất
hiện của nó, cấu trúc thường được gọi là Stack hoặc giao thức xếp chồng.
Hai hệ thống khác nhau có thể truyền thông với nhau nếu chúng bảo
đảm những nguyên tắc chung (cài đặt cùng một giao thức truyền thông). Các
chức năng được tổ chức thành một tập các tầng đồng mức cung cấp chức năng
như nhau. Các tầng đồng mức phải sử dụng một giao thức chung.
Một tầng không định nghĩa một giao thức đơn, nó định nghĩa một chức
năng truyền thông có thể được thi hành bởi một số giao thức. Do vậy, mỗi tầng
có thể chứa nhiều giao thức, mỗi giao thức cung cấp một dịch vụ phù hợp cho
chức năng của tầng. Ví dụ cả giao thức truyền file (File Transfer Protocol - FTP)
và giao thức thư điện tử (Simple Mail Transfer Protocol - SMTP) đều cung cấp
dịch vụ cho người dùng và cả hai đều thuộc tầng ứng dụng. Mỗi mức ngang hàng
giao thức truyền thông (sự bổ xung của các giao thức cùng mức tương đương
trên hệ thống khác). Mỗi mức phải được chuẩn hoá để giao tiếp với mức tương
đương với nó. Trên lý thuyết, giao thức chỉ biết đến những gì liên quan tới lớp
của nó mà không quan tâm tới mức trên hoặc dưới của nó. Tuy nhiên phải có sự
thoả thuận để chuyển dữ liệu giữa các tầng trên một máy tính, bởi mỗi tầng lại
liên quan tới việc gửi dữ liệu từ ứng dụng tới một ứng dụng tương đương trên
một máy khác. Tầng cao hơn dựa vào tầng thấp hơn để chuyển dữ liệu qua mạng
phía dưới. Dữ liệu chuyển xuống ngăn xếp từ tầng này xuống tầng thấp hơn cho
tới khi được truyền qua mạng nhờ giao thức của tầng vật lý. Ở đầu nhận, dữ liệu
đi lên ngăn xếp tới ứng dụng nhận. Những tầng riêng lẻ không cần biết các tầng
trên và dưới nó xử lý ra sao, nó chỉ cần biết cách chuyển nhận thông tin từ các
tầng đó. Sự cô lập các hàm truyền thông trên các tầng khác nhau giảm thiểu sự
tích hợp công nghệ của đầu vào mỗi bộ giao thức. Các ứng dụng mới có thể
thêm vào mà không cần thay đổi tầng vật lý của mạng, phần cứng có thể được bổ
sung mà không cần viết lại các phần mềm ứng dụng.



-

9

-

Tầng vật lý (Physical layer)
- Tầng vật lý liên quan tới việc truyền dòng bit giữa các máy bằng kênh
truyền thông vật lý, ở đây, cấu trúc của dữ liệu không được quan tâm đến.
- Việc thiết kế tầng vật lý cần quan tâm đến các vấn đề về ghép nối cơ khí,
điện tử, thủ tục và môi trường truyền tin bên dưới nó, ví dụ mức điện áp tương
ứng với bit 0 - 1, thời gian tồn tại của xung
Tầng liên kết dữ liệu (Data link layer)
- Liên kết, thiết lập, duy trì, huỷ bỏ các liên kết dữ liệu là nhiệm vụ của
tầng liên kết dữ liệu.
- Ngoài ra tầng liên kết dữ liệu còn kiểm soát lỗi đường truyền, thông
lượng. Tầng này thực hiện việc đóng gói thông tin gửi thành các frame, gửi các
frame một cách tuần tự đi trên mạng, xử lý các thông báo xác nhận
(Acknowledgement frame) do bên nhận gửi về. Xác định ranh giới giữa các
frame bằng cách ghi một số byte đặc biệt vào đầu và cuối frame. Giải quyết vấn
đề thông lượng truyền giữa bên gửi và bên nhận (Vấn đề này có thể được giải
quyết bởi một số lớp trên).
Tầng mạng (Network layer)
- Vấn đề chủ chốt của tầng mạng là routing (dẫn đường), định rõ các gói
tin (packet) được truyền theo những con đường nào từ nguồn đến đích. Các con
đường này có thể cố định, ít bị thay đổi, được thiết lập khi bắt đầu liên kết hay
động (dynamic) thay đổi tuỳ theo trạng thái tải của mạng.
- Nếu có nhiều gói tin truyền trên mạng có thể xảy ra tình trạng tắc
nghẽn, tầng mạng phải giải quyết vấn đề này.
- Thực hiện chức năng giao tiếp với các mạng bao gồm việc đánh lại địa
chỉ, cắt hợp gói tin cho phù hợp với các mạng.



-

10

-

Ngoài ra tầng mạng còn thực hiện một số chức năng kế toán, ví dụ, một
số Firewall (Packet Filtering) được cài đặt trên tầng này để thống kê số lượng
các gói tin truyền qua mạng hay ngăn cấm hoặc cho phép các gói tin của giao
thức nào đó.
Tầng giao vận (Transport layer)
- Kiểm soát việc truyền tin từ nút tới nút (end-to-end): Bắt đầu từ tầng
này, các thực thể đã có thể nói chuyện một cách logic với nhau.
- Thực hiên việc ghép kênh và phân kênh: Mỗi ứng dụng có thể gửi dữ
liệu đi theo nhiều con đường, một đường truyền lại có thể được nhiều ứng dụng
sử dụng, phân kênh/hợp kênh giải quyết vấn đề phân chia dữ liệu cho các ứng
dụng.
- Khắc phục sai sót trong quá trình truyền tin: Việc khắc phục sai sót
được thực hiện trên nhiều tầng khác nhau, nhưng hiệu quả nhất là ở các tầng cao,
việc khắc phục sai sót thực hiện ở tầng giao vận là hợp lý nhất.
Tầng phiên (Session layer)
- Tầng này cho phép người sử dụng trên các máy khác nhau thiết lập,
duy trì, huỷ bỏ, đồng bộ phiên truyền thông giữa họ. Cung cấp một số dịch vụ
hữu ích cho người sử dụng như cho phép người dùng logon vào hệ thống chia sẻ
thời gian, truyền tệp giữa các máy tính.
- Quản lý thẻ bài (Token): cơ chế thẻ bài được tầng phiên cung cấp để
tránh hiện tượng tranh chấp đường truyền trên mạng.
- Thực hiện đồng bộ (Synchronization): thực hiện đối với những dữ liệu
lớn bằng cách thêm vào các thông tin kiểm tra, sửa lỗi.
Tầng trình diễn (Presentation layer)
- Giải quyết vấn đề liên quan tới cú pháp và ngữ nghĩa của thông tin như
chuyển đổi thông tin theo một chuẩn nào đó được cả hai bên sử dụng (mã ASCII
- EDBCDIC).



-

11

-

- Nén/giãn dữ liệu để giảm số lượng bit truyền trên mạng.
- Mã hoá dữ liệu để thực hiện quyền truy cập.
Tầng ứng dụng (Application layer)
- Tầng ứng dụng cung cấp giao diện sử dụng cho người dùng và môi
trường truyền tin.
- Thực hiện chức năng chuyển file trong đó có giải quyết vấn đề không
tương thích như cách đặt tên file hay các mã điều khiển trong một tệp văn bản
- Cung cấp các dịch vụ Electronic mail, Remote login, Directory
lookup


1.1.4 Bộ giao thức TCP/IP
1.1.4.1 Giao thức chuyển địa chỉ ARP (Address Resolution Protocol) và
giao thức chuyển ngược địa chỉ RARP (Reverse Address Resolution
Protocol)
Mọi máy tính cùng nằm trên một mạng có cùng một net id và các máy
tính cùng trên một mạng vật lý có thể gửi frame vật lý trực tiếp cho nhau nên
việc truyền thông tin giữa hai máy tính trong cùng một mạng vật lý không cần sử
dụng Gateway. Việc dẫn đường trực tiếp chỉ sử dụng phần địa chỉ máy host id
trong địa chỉ IP. Trạm gửi chỉ việc kết khối dữ liệu vào frame, chuyển địa chỉ IP
của trạm đích thành địa chỉ vật lý và gửi trực tiếp frame tới máy nhận.
Một cơ chế sử dụng để chuyển địa chỉ IP thành địa chỉ vật lý là ARP
(Address Resolusion Protocol). Khi hai máy tính cùng nối vào một mạng vật lý,
chúng biết được địa chỉ IP của nhau nhưng để truyền thông giữa hai máy, chúng
phải biết được địa chỉ vật lý của nhau. ARP giải quyết vấn đề chuyển từ địa chỉ



-

12

-

IP 32 bit sang địa chỉ Ethernet 48 bit. Người ta sử dụng hai cơ chế chuyển địa chỉ
là:
- Chuyển giao trực tiếp.
- Chuyển giao gián tiếp.
Chuyển giao trực tiếp
Địa chỉ vật lý là một hàm của địa chỉ IP, ví dụ sử dụng trên mạng Token
ring proNET-10 là mạng cho phép đặt địa chỉ IP và địa chỉ vật lý tùy ý. Người ta
có thể đặt địa chỉ IP là 192.5.48.3 và địa chỉ vật lý là 3, khi đó ta có P
A
=f(I
A
).
Với P
A
là địa chỉ vật lý, I
A
là địa chỉ Internet và f là hàm chuyển đổi.
Chuyển giao địa chỉ động
Chuyển giao địa chỉ động được thực hiện bằng cách máy tính gửi thông
tin gửi một thông báo tới toàn bộ các máy tính trên mạng, trong thông báo đó có
chứa địa chỉ IP của máy tính nó cần liên lạc, mọi máy sẽ nhận được thông báo và
máy nào thấy địa chỉ IP của mình thì trả lại một thông báo chứa địa chỉ vật lý,
khi đó, hai máy tính có thể “nói chuyện” với nhau.


Host A Host D
Host C
Host B
ARP Request
Host A
Host D
Host C Host B
ARP Reply



-

13

-







1.1.4.2 Giao thức điều khiển truyền tin (Internet Control Message Protocol
- ICMP)
Việc dẫn đường qua các mạng sử dụng giao thức điều khiển truyền tin
(Internet Control Message Protocol - ICMP) được định nghĩa trong RFC 792.
ICMP sử dụng gói tin IP để chuyển thông báo của nó. ICMP gửi các thông báo
làm các công việc: Điều khiển, thông báo lỗi và chức năng thông tin cho
TCP/IP… Thông thường ICMP được gửi khi một gói tin không thể đi tới đích,
một gateway không còn đủ chỗ nhớ để nhận thêm gói tin hay một gateway
hướng dẫn máy tính sử dụng gateway khác để truyền thông tin theo một con
đường tối ưu hơn.
1.1.4.3 Giao thức không kết nối (User Datagram Protocol – UDP)
UDP cho phép chương trình ứng dụng truy cập trực tiếp đến gói tin của
dịch vụ chuyển giao giống như dịch vụ mà giao thức IP cung cấp. Nó cho phép
ứng dụng trao đổi thông tin qua mạng với ít thông tin điều khiển nhất. UDP là
giao thức không kết nối, kém tin cậy vì nó không có cơ chế kiểm tra tính đúng
đắn của dữ liệu truyền.



-

14

-

1.1.4.4 Giao thức điều khiển truyền tin (Transmission Control Protocol -
TCP)
Một số ứng dụng đòi hỏi giao thức giao vận cung cấp dịch vụ chuyển giao
thông tin tin cậy sử dụng TCP bởi nó cung cấp dịch vụ kiểm tra đúng đắn và dữ
liệu được truyền với một sự phối hợp thích hợp. Một số đặc điểm của dịch vụ tin
cậy mà TCP cung cấp là:
- Hướng dòng (Stream Orientation): TCP coi dữ liệu nó gửi đi là một dòng
byte không phải là gói tin. Do đó, TCP đảm bảo số thứ tự của các byte gửi nhận.
TCP chuẩn không bắt hệ thống phải sử dụng một số đặc biệt nào để đánh số
dòng byte, mỗi hệ thống tự chọn một số mà nó sẽ dùng làm điểm bắt đầu. Mỗi
trạm cuối phải biết số thứ tự mà trạm kia dùng.
- Chuyển giao bộ đệm (Buffered Transfer): Để giảm số lượng truyền
thông, giao thức cố gắng sử dụng số lượng tối thiểu các segment để truyền tải
thông tin, do vậy, giao thức sử dụng tối đa độ dài có thể của segment.
- Kết nối hai chiều (Full Duplex Connection): TCP/IP cung cấp kết nối
cho cả hai đầu của liên kết. Điều này có nghĩa là tầng phía dưới cung cấp khả
năng gửi trả thông báo từ trạm đích trở lại trạm nguồn. TCP là giao thức hướng
kết nối. Nó thiết lập quan hệ logic giữa 2 trạm tham gia liên kết.
TCP cung cấp dịch vụ tin cậy với một cơ chế gọi là "Positive
Ackowledgment with Retransmission" (PAR). Đơn giản là trạm nguồn tiếp tục
gửi thông tin đi cho tới khi nó nhận được thông báo dữ liệu đã được nhận chính
xác tại trạm đích. Đơn vị thông tin chuyển giao giữa các ứng dụng gọi là
segment, mỗi segment chứa checksum để đảm bảo rằng segment không bị phá
huỷ trên đường truyền, nếu segment không bị phá huỷ, trạm nhận gửi thông báo
xác nhận lại trạm gửi, nếu segment bị phá huỷ, trạm nhận huỷ bỏ nó và sau một
thời gian nào đó, trạm gửi sẽ gửi lại gói tin mà nó không nhận được thông báo
xác nhận.

Không có nhận xét nào:

Đăng nhận xét