Đề tài Thực trạng và giải pháp cho vấn đề an toàn và bảo mật trong thương mại điện tử

Và một đặc điểm có tác dụng tốt cho an ninh: chủ quyền file/thư mục không thể trao mà chỉ có thể đoạt. Sau khi đoạt được chủ quyền, bạn không có cách nào trao trả lại chủ quyền cho người chủ cũ mà thiếu sự hợp tác của người đó. Chúng ta cũng đã nghe nói về dữ liệu public và private. Ngoài hai loại này còn có một loại thứ 3 nữa gọi là “dữ liệu doanh nghiệp”. Ví dụ như dữ liệu kế toán. Đặc trưng của loại dữ liệu này là mội thư mục, mỗi file đều có một người dùng chịu trách nhiệm quản lí và vì thế có quyền cập nhật, bên cạnh một số người khác có nhu cầu biết, và vì thế có quyền đọc. Không được phép để người chủ file có quyền gì hơn so với người khác có quyền cập nhật. Hay nói cách khác khái niệm chủ quyền không được phép đóng vai trò gì đối với loại dữ liệu này. Đây có lẽ là loại dữ liệu được quan tâm bảo toàn và bảo mật nhiều nhất. Thực ra đọc và cập nhật thư mục/file mới chỉ là những quyền truy nhập dữ liệu hết sức thô thiển. Chúng không cho phép bạn phân biệt, chẳng hạn, giữa hành động đọc văn bản trong một thư mục với hành động sao chép nguyên cả 100GB dữ liệu từ thư mục đó. Chúng hoàn toàn hành động “thu” và “chi” trên một tài khoản qua một phiên giao dịch với khách hàng. Kiểm soát truy nhập chặt chẽ đòi hỏi một sự phân quyền truy nhập tinh vi hơn.

doc88 trang | Chia sẻ: haianh_nguyen | Lượt xem: 1217 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Thực trạng và giải pháp cho vấn đề an toàn và bảo mật trong thương mại điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ao thức được sử dụng cho phép thực hiện giao dịch trong không gian ảo. Bản chất của giao dịch cũng chỉ là sự chuyển tiền từ tay người này qua người khác. Trong phần này chúng ta sẽ xem xét hai giao thức mở cho phép thực hiện giao dịch an toàn, đó là SSL và SET. 1. Giao thức tầng cắm an toàn (Secure Sockets Layer – SSL) Giao thức SSL được thiết kế bởi Nestcape như là một phương pháp bảo đảm sự an toàn của kết nối khách (client) – chủ (server) trên môi trường Internet. Trong khi Nestcape thiết kế SSL, Microsoft và các hãng khác cũng nhanh chóng tham gia, và hiện nay hầu như mọi trang web đều hỗ trợ việc truyền dữ liệu sử dụng giao thức SSL. Về cơ bản, giao thức SSL hoạt động ngay dưới các giao thức ứng dụng (như HTTP, SMTP,Telnet, FTP, Gopher và NNTP) và nằm trên giao thức mạng TCP/IP. Điều đó cho phép SSL vận hành độc lập đối với các giao thức ứng dụng mạng. SSL sử dụng phương pháp mã hóa khóa công khai đã giới thiệu ở trên, với thuật toán RAS dùng để mã hóa. SSL cho phép: Client và server nhận dạng lẫn nhau. Sử dụng chứng thực số để chứng thực tính toàn vẹn. Mã hóa toàn bộ thông tin để đảm bảo tính bí mật. Để làm được điều này cần có một máy chủ bảo mật, đó là lý do tại sao bạn thường nhận được thông báo kiểu này: Các máy chủ bảo mật thường có chuỗi HTTPS và hình chiếc khóa trong URL thay vì HTTP như bình thường. Quá trình bạn bắt đầu một phiên làm việc với một máy chủ web dưới sự bảo mật của SSL được gọi là “quá trình bắt tay”. Một quá trình bắt tay bao gồm: Trình duyệt và server quyết định cấp độ và cách thức mã hóa dùng cho phiên làm việc. Trình duyệt và server tạo và chia sẻ chìa khóa dùng để mã hóa. Trình duyệt yêu cầu và nhận chứng thực số từ server (không bắt buộc). Server yêu cầu và nhận chứng thực số từ trình duyệt (không bắt buộc). Sau khi quá trình bắt tay kết thúc, bạn hoàn thành giao dịch. Chỉ cần phiên làm việc chưa kết thúc thì mọi dữ liệu truyền đi giữa trình duyệt và server đều được mã hóa. Khi phiên làm việc hoàn thành, trình chủ bảo mật sẽ chuyển bạn về trình chủ không bảo mật. SSL an toàn đến đâu? Hầu hết chúng ta không quan tâm tới việc SSL hoạt động như thế nào, chúng ta chỉ muốn biết nó có thực sự hoạt động hay không. Nếu nó giữ thông tin thẻ tín dụng của bạn an toàn thì không có gì phải phàn nàn. Trong quý I năm 1998, không có giao dịch thực hiện bằng SSL thành công – tạo nên một thỏa thuận thực sự trong thực tế. Tất nhiên, mã hóa sử dụng trong SSL có thể bị phá vỡ nhưng rất tốn kém. Trong hầu hết các ứng dụng, SSL vẫn được coi là giải pháp hàng đẩu để bảo vệ thông tin thẻ tín dụng khi giao dịch trực tuyến. Hơn nữa, SSL có thể được phát triển, đặc biệt nếu Nestcape và Microsoft được chính phủ Mỹ cho phép sử dụng những phương pháp mã hóa mạnh hơn. 2. Giao thức giao dịch an toàn (Secure Electronic Transaction) Giao thức SET được thiết kế nguyên thủy bởi Visa và MasterCard vào năm 1997 và được phát triển dần lên từ đó. Giao thức SET đáp ứng được 4 yêu cầu về bảo mật cho TMĐT giống như SSL: sự xác thực, mã hóa, tính chân thực và không thoái thác. Vậy SET có gì khác biệt so với SSL? Khi bạn bắt đầu một phiên làm việc với một website thương mại thông qua SSL, điều đó chẳng khác gì bạn đưa thẻ tín dụng của mình cho người bán hàng . Anh ta nói giá, bạn đồng ý, và bạn đợi cho người bán yêu cầu xác định giá trị thẻ với ngân hàng. Nếu thẻ được xác nhận, một phiếu bán hàng được in ra. Bạn ký vào phiếu bán hàng, người bán giữ một bản copy cho hồ sơ của bạn. Với SET, ngân hàng phát hành thẻ cũng tham gia trong quá trình giao dịch với vai trò người trung gian. Khi bạn nhập số thẻ của mình trong một giao dịch với SET, site thương mại sẽ không bao giờ thấy được số thẻ của bạn. Thay vào đó, thông tin được gửi đến cơ quan tài chính thông qua cổng thanh toán, người sẽ xác thực thẻ của bạn và thực hiện thanh toán với site thương mại điện tử. Đổi lại, công việc đó đòi hỏi một chi phí nhất định. Giao thức SET yêu cầu khách hàng phải tải một phần mềm đặc biệt gọi là ví điện tử (electronic wallet) hay ví số (digital wallet) để lưu giữ chứng thực của khách hàng tại máy tính cá nhân hay thẻ IC (Intergrated circuit card) của họ. Để kết nối ví điện tử với những người kinh doanh khác nhau, khả năng liên vận hành là một đặc tính quan trọng cần được đáp ứng. Do tính liên vận hành của ví số của người chủ sở hữu thẻ với phần mềm của bất cứ người kinh doanh nào là điều cơ bản, một liên hiệp các công ty (Visa, MasterCard, JCB – ngân hàng phát hành thẻ của Nhật – và American Express) đã thành lập một công ty được gọi là SETCO (Secure Electronic Transaction LLC 1999). Công ty này thực hiện các thử nghiệm liên vận hành và phát hành một nhãn hiệu SET như một xác nhận về tính liên vận hành. IBM, Netscape, Microsoft, Verisign, Tandem và MetaLand cung cấp các ví số có khả năng liên vận hành như vậy. 3. So sánh SSL và SET Khác với giao thức SSL có 3 thực thể là người chủ sở hữu thẻ, người kinh doanh và cơ quan chứng thực (CA), SET có thêm một thực thể là cổng thanh toán. Đây là cổng kết nối Internet với các mạng độc quyền của các ngân hàng. Mỗi thực thể tham gia cần chứng thực riêng. Trên lý thuyết, SET bảo mật hơn SSL. Với SSL, thông tin thẻ tín dụng của bạn là công khai với người bán, cả người bán và ngân hàng của bạn đều biết bạn là ai và mua những gì. Điều này xâm phạm quyền riêng tư. Đối với SET thì không, người bán không bao giờ nhìn thấy số thẻ của bạn, bạn chỉ phải cung cấp thông tin về thẻ của mình cho cơ quan đã biết quá rõ về nó. Người bán không biết bạn là ai, còn ngân hàng của bạn không biết bạn mua những gì. Tuy nhiên trên thực tế, SET không được ứng dụng rộng rãi như người ta mong đợi do tính phức tạp, thời gian phản hồi chậm và sự cần thiết phải cài đặt ví số ở máy tính của khách hàng. Nhiều ngân hàng ảo và cửa hàng điện từ duy trì giao thức SSL, một số sử dụng cả hai giao thức như WalMart Online. Hiện chỉ có 1% kế hoạch kinh doanh điện tử di chuyển sang SET. MasterCard cho biết ví số có thể được phân phối như là phần mềm gắn thêm vào phiên bản Windows tiếp theo. Tuy nhiên, Visa quyết định không chờ đợi. Visa đồng ý cung cấp một cổng nối xử lý thẻ tín dụng được gắn vào giao thức mã hóa SSL cơ bản. III. Những hình thức gian lận trong TMĐT và cách phòng chống 1. Phishing Phishing là một dạng lừa đảo trực tuyến ngày càng phổ biến. Kỹ thuật lừa đảo Phishing bắt đầu bằng một email giả danh một công ty hợp pháp, chẳng hạn như Ebay hay CityBank. Thông thường, nội dung của email giả danh thông báo cho nạn nhân là tài khoản của họ đã hết hạn hoặc đại loại như vậy. Nạn nhân sẽ được hướng dẫn để nhấp chuột vào một liên kết dẫn đến một website giả mạo. Nếu nạn nhân vào website này, nó sẽ bảo bạn khai báo các thông tin cá nhân quan trọng như số thẻ tín dụng hay số tài khoản cá nhân. Hậu quả là nạn nhân bị bọn chúng vét sạch tiền trong tài khoản mà không hiểu vì sao. Hiện nay có nhiều phần mềm cho phép tạo lập website giả mạo của các công ty hợp pháp một cách dễ dàng mà không đòi hỏi kẻ lừa đảo phải có nhiều kiến thức về lập trình, chỉ đơn giản là cắt và dán nên vấn nạn Phishing sẽ còn gia tăng trong thời gian tới. Trong khi nhiều người dùng cho rằng Web Caller – ID không phải là phương thức toàn năng chữa trị triệt để vấn nạn phishing. Để phòng chống Phishing bạn có thể sử dụng sản phẩm Web Caller – ID của công ty WholeSecurity. Phần mềm này hiện đang được Ebay tích hợp vào thanh công cụ Internet dưới dạng tính năng bảo vệ tài khoản. Tính năng này phát hiện những Website lừa đảo, giả mạo Ebay hoặc PayPal với độ chính xác đến 98%. Người truy cập sẽ được cảnh báo khi truy cập vào những website giả mạo không phải của Ebay. Web Caller – ID hoạt động theo nguyên lý phân tích các địa chỉ Web để dò tìm những đầu mối cho biết một website có giả mạo hay không. Chẳng hạn nếu địa chỉ URL của website mà dài và luẩn quẩn, hoặc nếu nó chứa một dãy số dài và được ngăn cách bởi các dấu chấm trong địa chỉ IP thì nhiều khả năng nó là website mạo danh. Chương trình cũng có khả năng kiểm tra xem có phải tên miền mới được đăng ký hay không, cũng như xem có phải nhà quản trị website đó đang sử dụng một dịch vụ host miễn phí. Ngoài Ebay, hãng WholeSecuriry còn có kế hoạch cấp giấy phép cho các doanh nghiệp kinh doanh trực tuyến sử dụng phần mềm Web Caller – ID. Các doanh nghiệp này có thể là ngân hàng, hãng tín dụng hay các cửa hàng bán lẻ qua mạng. Với phần mềm này, bạn có thể tích hợp nó vào thanh công cụ trình duyệt Web, tạo thành một tính năng gián tiếp làm nhiệm vụ bảo mật. Ngoài ra, bạn có thể lựa chọn đăng ký dịch vụ xử lý email từ hãng WholeSecurity để nhận được những thông tin mới nhất về nạn phishing scam. 2. Spear Phishing Đây là hình thức lừa đảo mang ý tưởng của Phishing nhưng với thủ đoạn mới, đối tượng mới. Mục tiêu của hình thức lừa đảo này nhằm vào các thông tin nhạy cảm của cả một tổ chức thuộc cá nhân hay chính phủ. Thay vì giả mạo email của một trang web nổi tiếng hay một trang ngân hàng nào đó, kẻ lừa đảo gửi email cho một số ít nhân viên của tổ chức mục tiêu và làm như email đó được gửi đến từ một quan chức cao cấp trong tổ chức đó. Không giống như email của các hình thức lừa đảo Phishing thông thường được gửi với số lượng lớn, tới mọi đối tượng, kẻ lừa đảo theo hình thức Spear Phishing mỗi lần chỉ nhắm vào một tổ chức. Spear Phishing là hình thức lừa đảo có mục tiêu cụ thể. Khi chúng lừa được nhân viên của tổ chức lộ ra mật khẩu, chúng có thể cài các phần mềm gián điệp khai thác các bí mật của tổ chức đó. Spear Phishing hiệu quả rất lớn đối với cả những nhân viên có hiểu biết về các mối đe dọa trên mạng. Tại học viện quân sự Mỹ tại West Point, New York, một thử nghiệm nội bộ đã cho thấy tất cả các học viên sẵn sàng cung cấp thông tin cho một kẻ lừa đảo tự xưng là sỹ quan cao cấp. “Đó là hiệu ứng đại tá, bất cứ ai ở cấp tá trở lên cũng có thể ra lệnh trước rồi đưa ra các câu hỏi sau”, tiến sĩ Aeron Ferguson phát biểu. Gần đây các học viên đã có phần nghi ngờ các bức thư trên khi nhận thức của họ được nâng lên. Để ngăn chặn hình thức lừa đảo Spear Phishing, biện pháp tốt nhất hiện nay là giáo dục nâng cao ý thức của các nhân viên trong tổ chức. Muốn ngăn chặn triệt để vấn nạn Phishing cần có một cơ chế chứng thực email được dùng rộng rãi. Điều này đòi hỏi sự phối hợp của toàn xã hội. 3. Pharming Hình thức lừa đảo này rất nguy hiểm. Kẻ cắp thay đổi địa chỉ IP của trang web mà bạn muốn truy cập. Khi bạn login vào, mặc dù đã gõ đúng tên của trang bạn muốn nhưng bạn được dẫn tới một trang web giả mạo. Đối với hệ điều hành Windows có một file lưu những trang mà bạn đã vào, bên cạnh đó là địa chỉ IP của trang đó. Trong lần truy cập tiếp theo, bạn sẽ truy cập trực tiếp vào trang đã có địa chỉ IP trong danh sách mà không cần thông qua máy chủ DNS. Nếu hacker tấn công máy của bạn và thay đổi địa chỉ IP của trang đó, bạn sẽ được dẫn vào một trang web giả. Mức độ nguy hiểm sẽ tăng, nếu hacker tấn công được vào máy chủ DNS của và thay đổi địa chỉ IP của trang web. Lúc này không chỉ mình bạn, mà bất cứ ai truy cập vào trang web đó đều truy cập vào trang web giả mạo. Máy chủ DNS (Domain Name Server) có nhiệm vụ biên dịch tên miền thành địa chỉ IP. Khi bạn đánh tên trang web bạn muốn vào, máy chủ DNS sẽ biên dịch tên trang web thành địa chỉ IP và kết nối tới trang có địa chỉ IP đó. 4. Các phòng chống gian lận a.Nếu bạn là khách hàng Để tránh để mình trở thành nạn nhân của các hình thức gian lận trên bạn cần: Bảo vệ máy tính của mình bằng firewall và các phần mềm diệt trừ spyware, trojan. Thực hiện các quy tắc an toàn về tài khoản như tạo tên tài khoản hợp lệ, password đủ dài và bao gồm cả ký tự chữ và số, không sử dụng thông tin cá nhân làm password. Khi truy cập vào một trang web, để ý biểu tượng cái khóa đóng, nếu có bạn có thể yên tâm phần nào bởi bạn đang được bảo vệ bởi giao thức tầng cắm an toàn (SSL). Kiểm tra tên trang web để chắc chắn bạn đang truy cập vào trang bạn cần. VD: và Hai tên trang web giống nhau đến kinh ngạc. Một trang sử dụng ký tự chữ “l” và một trang sử dụng ký tự số “1”. Nếu thấy sự thay đổi của trang web, bạn cần có sự nghi ngờ và liên hệ với người sở hữu trang web để xác thực. b.Nếu bạn là người kinh doanh Bạn có thể bảo vệ mình trước các hình thức gian lận bằng cách sử dụng dịch vụ chống gian lận của Verisign VeriSign là nhà cung cấp hoạt động trong lĩnh vực an toàn Internet. Họ cung cấp cho bạn các dịch vụ bảo vệ chất lượng cao với giá cả hợp lý. Công nghệ bảo mật của VeriSign được thiết kể dựa trên các thông tin phản hồi từ các thương nhân và nhu cầu của cộng đồng kinh doanh trực tuyến cộng với việc lường trước các hành vi gian lận mới. VeriSign có nhiều gói dịch vụ bảo vệ gian lận tương ứng với tình hình kinh doanh của từng doanh nghiệp, nhưng cũng rất đơn giản để nâng cấp. Vì vậy bạn chỉ phải mua cái bạn cần, khi bạn cần. Các dịch vụ bảo vệ gian lận Dịch vụ Loại hình thương nhân Những lợi ích quan trọng Các lựa chọn dịch vụ: Gói dịch vụ cơ bản Được thiết kể cho các thương nhân có lượng giao dịch nhỏ Dễ dàng và thuận tiện tối đa Gói dịch vụ cao cấp Các thương nhân có lượng giao dịch vừa và lớn Tối đa hóa sự bảo vệ và mức độ tùy chọn Các lựa chọn nâng cấp: Dịch vụ quản lý account Dành cho tất cả các thương nhân Quản lý hoạt động account 7 ngày trong tuần Dịch vụ xác minh người mua Tất cả các thương nhân Xác minh bảo vệ trách nhiệm pháp lý của Hiệp hội thẻ đối với người mua hàng Các dịch vụ an toàn quản lý Các thương nhân ở các doanh nghiệp An toàn vành đai tùy chọn So sánh tính năng của 2 gói dịch vụ Các gói dịch vụ Gói dịch vụ bảo vệ chống gian lận cơ bản Gói dịch vụ bảo vệ chống gian lận cao cấp VeriSign Fraud Manager (giao diện web riêng cho phép quản lý các tính năng bảo vệ chống gian lận một cách dễ dàng) Mô đun kiểm tra giao dịch X X Kiểm tra tất cả các giao dịch được kiểm tra X X Các bộ lọc gian lận Các bộ lọc đơn đặt hàng có dấu hiệu bất thường Bộ lọc theo giá trị đơn hàng X X Bộ lọc theo số lượng hàng hóa X X Bộ lọc các mâu thuẫn giữa thanh toán và lợi nhuận X X Các bộ lọc thanh toán có rủi ro cao Bộ lọc AVS failure X X Bộ lọc CSC failure X X Bộ lọc BIN có rủi ro cao X Các bộ lọc địa chỉ có rủi ro cao Bộ lọc mã bưu điện có rủi ro cao X X Bộ lọc theo người gửi hàng hóa X X Bộ lọc theo tính hợp lệ của địa chỉ US Postal Service X So sánh danh sách rủi ro của địa chỉ IP X So sánh danh sách rủi ro của nhà cung cấp dịch vụ email X Bộ lọc theo vị trí địa lý X Bộ lọc các khách hàng có rủi ro cao Bộ lọc danh sách email giả X Bộ lọc danh sách thẻ tín dụng giả X Các bộ lọc đơn đặt hàng quốc tế Bộ lọc quốc gia có rủi ro cao X Bộ lọc địa chỉ thanh toán/ gửi hàng/ quốc tế X Bộ lọc địa chỉ IP quốc tế X Bộ lọc AVS quốc tế X Các bộ lọc chấp nhận thanh toán Bộ lọc danh sách email thật X Bộ lọc danh sách thẻ tín dụng thật X Các tính năng an toàn của account Kiểm toán an toàn từ Qualys X X Các IP được cho phép (hạn chế truy cập account) X X Thiết lập giao dịch (kiểm tra tín dụng) X X Quản lý password X X Các tính năng dịch vụ đặc biệt Xác nhận người mua X X Kiểm tra tài khoản X X Các lựa chọn nâng cấp: Dịch vụ kiểm tra tài khoản: bổ xung thêm dịch vụ này vào cả hai gói dịch vụ cơ bản và cao cấp để chống lại các hành vi tiếp quản và xâm nhập tài khoản thanh toán. Cung cấp tính năng quản lý giao dịch với đường dây liên lạc gian lận cho phép bạn hỏi cac chuyên gia về các hoạt động của các tài khoản có nghi ngờ gian lận. Dịch vụ xác minh người mua: bảo vệ trách nhiệm pháp lý với dịch vụ xác nhận người mua (được xác nhận bởi Visa và MasterCard SecureCode). Nâng cấp dịch vụ này để tích hợp liên tục quá trình xác nhận người mua vì nó có giá trị về mặt thương mại đối với người mua và trung tâm thanh toán của bạn. Dịch vụ an toàn quản lý: bổ xung dịch vụ này để bảo vệ tốt nhất toàn bộ cơ sở hạ tầng của bạn. Cung cấp một đội ngũ bảo mật riêng 24x7 không tốn kém thời gian và chi phí quản lý. IV. Những hình thức tấn công 1. Tấn công từ chối dịch vụ - DOS Tấn công từ chối dịch vụ (Denial of Services Attack – DOS) là một kiểu tấn công rất lợi hại. Với kiểu tấn công này bạn chỉ cần một máy tính kết nối Internet là đã có thể thực hiện việc tấn công máy tính đối phương. Ý tưởng tấn công của DOS là chiếm dụng một lượng lớn tài nguyên trên server (băng thông, bộ nhớ, cpu, đĩa cứng…), làm cho server không thể nào đáp ứng yêu cầu từ các máy của người dùng bình thường và server có thể nhanh chóng ngừng hoạt động, crash hoặc reboot. Ngày nay, DOS đã trở thành nỗi ám ảnh lớn đối với tất cả các mạng máy tính. Các website lớn như Yahoo! Inc, CNN.com hay Ebay Inc cũng đã từng là nạn nhân của tấn công từ chối dịch vụ - DOS. Tấn công DoS là hiện tượng một luồng thông tin được gửi liên tục đến một mục tiêu với ý định làm tràn dữ liệu cho đến khi không có khả năng tải một cách hợp pháp. Mục tiêu của những cuộc tấn công này nhằm vào máy chủ web của bạn, thông qua việc phủ nhận khả năng tải thông tin từ hệ thống của bạn. Tấn công DoS không đòi hỏi hacker phải truy cập bằng được vào máy chủ mục tiêu như những cuộc tấn công khác. Thay vì vậy, hacker có thể truy cập vào trong những máy tính khác của hệ thống, cài mã chương trình để biến chúng thành những “kẻ tòng phạm”. Những kẻ tòng phạm sau này sẽ gửi hàng loạt những yêu cầu về thông tin đến mục tiêu chính của cuộc tấn công. Máy chủ của bạn sẽ nhanh chóng trở nên quá tải, hậu quả thứ nhất là nó phải tập trung trả lời các yêu cầu được gửi đến, sẽ không có thời gian bảo vệ và quan tâm đến các trang web. Và tất yếu hậu quả thứ hai sẽ là: website của bạn ngừng hoạt động. Về mặt kỹ thuật tấn công DoS không gây thiệt hại nghiêm trọng. Tuy nhiên về mặt tài chính, bạn có thể thiệt hại những khoản doanh thu lớn trong thời gian website ngừng hoạt động. a. Winnuk Hình thức tấn công DoS này chỉ có thể áp dụng cho các máy tính đang chạy Windows 9x. Hacker sẽ gửi các gói tin dữ liệu “Out of Band” đến cổng 139 của máy đích (cổng 139 chính là cổng NetBIOS, nó chỉ chấp nhận các gói tin có cờ Out of Band được bật). Khi máy tính nạn nhân (victim) nhận được gói tin này, một màn hình xanh báo lỗi sẽ được hiển thị. Do chương trình của Windows nhận được gói tin này nhưng lại không biết phản ứng với các dữ liệu Out of Band ra sao, dẫn đến hệ thống sẽ bị crash. b. Ping of Death Với hình thức tấn công DoS này, kẻ tấn công chỉ cần gửi một gói dữ liệu có kích thước lớn thông qua lệnh “ping” đến máy đích, tức thì hệ thống này sẽ bị treo hay khởi động lại. Kiểu tấn công này không gây hại được đối với các máy chủ đã được thiết lập để phòng ngừa nó. Trong kiểu tấn công này, để xem trước hệ thống đích có được thiết lập phòng ngừa tấn công DoS hay không, hacker sẽ gửi một gói tin có kích thước vượt quá kích thước bình thường cho phép đến hệ thống mục tiêu. VD: ping – 165000. c. Tear drop Như ta đã biết, tất cả các dữ liệu chuyển đi trên mạng từ hệ thống nguồn đến hệ thống đích đều phải trải qua hai quá trình: dữ liệu sẽ được chia thành các mảnh nhỏ ở hệ thống nguồn, mỗi mảnh đều phải có giá trị offset nhất định để xác định vị trí của mảnh đó trong gói dữ liệu truyền đi. Khi các mành này đến hệ thống đích, hệ thống đích sẽ dựa vào giá trị offset này để sắp xếp các mảnh lại với nhau theo thứ tự đúng như ban đầu. Tấn công Tear drop dựa trên ý tưởng các gói dữ liệu được chuyển đi với trường offset chồng chéo, khiến cho máy nhận không thể sắp xếp chúng lại, do đó dẫn đến tình trạng bị phá vỡ. VD: bạn có một dữ liệu gồm 4000 bytes cần được chuyển đi. Giả sử rằng 4000 bytes này được chia thành ba gói nhỏ. Gói thứ nhất sẽ mang các bytes dữ liệu từ 1 – 1500. Gói 2 mang các bytes từ 1501 – 3000. Gói 3 mang các bytes từ 3001 – 4000. Khi các gói đến đích, hệ thống đích sẽ dựa vào các giá trị offset của các gói để sắp xếp cho đúng thứ tự ban đầu: gói 1 (1 – 1500 bytes đầu tiên) à gói 2 (1501 – 3000 bytes tiếp theo) à gói 3 (3001 – 4000 bytes sau cùng). Nhưng trong tấn công tear drop, hacker sẽ gửi theo dạng khác: ( 1 – 1500 bytes) (1501 – 3000 bytes) (1001 – 4000 bytes). Khi đó hệ thống sẽ không điều khiển được và có thể bị crash hoặc reboot. d. SYN attack Trong SYN attack, hacker sẽ gửi một loạt SYN packetsvới địa chỉ IP nguồn không có thực đến hệ thống. Hệ thống đích khi nhận được các SYN packets này sẽ gửi trở lại các địa chỉ không có thực đó và chờ đợi để nhận thông tin phản hồi từ các địa chỉ IP giả. Vì đây là các địa chỉ IP không có thực nên hệ thống đích sẽ phải chờ đợi vô ích và còn đưa các yêu cầu chờ đợi này vào bộ nhớ, gây hoang phí một lượng đáng kể bộ nhớ trên máy chủ mà đúng ra là phải được dùng vào việc khác thay cho phải chờ đợi thông tin phản hồi không có thực. Nếu bạn gửi cùng một lúc nhiều gói tin có địa chỉ IP giả như vậy sẽ gây cho hệ thống bị quá tải, dẫn đến crash hay reboot. e. Landattack Land Attack cũng gần giống như SYN attack, nhưng thay vì dùng các địa chỉ IP không có thực, hacker dùng chính địa chỉ IP của hệ thống nạn nhân. Điều này sẽ tạo nên một vòng lặp vô tận trong chính hệ thống nạn nhân, giữa một bên cần nhận thông tin phản hồi còn một bên thì chẳng bao giờ gởi thông tin phản hồi đó đi cả. Kỹ thuật tấn công này được gọi là kiểu “ gậy ông đập lưng ông”. Tuy nhiên, hầu hết các hệ thống đểu được thiết lập để chống lại kiểu tấn công này. Thông thường, các nhà bảo mật mạng sử dụng tiện ích Filter hoặc Firewall. f. Smurf attack Smurf attack là một dạng tấn công kiểu hàng loạt. Trong đó, một số lượng khổng lồ các router sử dụng địa chỉ IP giả từ bên trong mạng đích. Do đó, khi các router này nhận tín hiệu ping (thăm dò), chúng sẽ phản hồi và làm lụt mạng, dẫn tới mạng bị ngưng trệ. Hai nhân tố chính trong Smurf Attack là ICMP echo request packets và chuyển trực tiếp các packets đến các địa chỉ broadcast. Trong đó, giao thức ICMP thường được dùng để xác định một máy tính có còn hoạt động không. Để xác định một máy tính có còn hoạt động không, bạn cần gửi một ICMP echo request đến máy đó. Khi nhận được packet này, nó sẽ gửi trả lại một ICMP echo reply packet. Nếu bạn khôngược message trả lời thì máy đó không còn hoạt động trên mạng. Mỗi mạng máy tính đều có địa chỉ broadcast và địa chỉ mạng. Địa chỉ mạng có các bit host đều bằng 0 còn địa chỉ broadcast có các bit host đều bằng 1. VD: địa chỉ IP lớp B 140.179.220.200 sẽ có địa chỉ mạng là 140.179.0.0. Khi gửi một gói tin đến địa chỉ mạng lập tức packet này sẽ được chuyển đến tất cả các máy trong mạng (mỗi máy có địa chỉ mạng con). Smurf attack cần có 3 phần: hacker (người ra lệnh tấn công), mạng khuyếch đại (sẽ nghe theo lệnh của hacker) và hệ thống của nạn nhân. Hacker sẽ gửi các gói tin ICMP đến địa chỉ broadcast của mạng khuyếch đại. Điều đặc biệt là các gói tin ICMP này có địa chỉ IP nguồn chính là địa chỉ IP của nạn nhân. Khi các packets đó đến được địa chỉ broadcast của mạng khuyếch đại, các máy tính trong mạng khuyếch đại sẽ tưởng rằng máy tính của nạn nhân đã gửi gói tin ICMP packets đến và chúng sẽ đồng loạt gởi trả lại hệ thống nạn nhân các gói tin phản hồi ICMP. Hệ thống máy nạn nhân sẽ không chịu nổi một khối lượng khổng lồ các gói tin này và nhanh chóng bị ngừng hoạt động. Như vậy, chỉ cần gửi một lượng nhỏ các gói tin ICMP packets đi thì hệ thống mạng khuyếch đại sẽ khuyếch đại lượng gói tin ICMP packets này lên gấp bội. Tỉ lệ khuyếch đại phụ thuộc vào số máy tính có trong mạng khuyếch đại. Nhiệm vụ của các hacker là cố chiếm được càng nhiều hệ thống mạng hoặc routers cho phép chuyển trực tiếp các gói tin đến địa chỉ broadcast không qua chỗ lọc địa chỉ nguồn ở các đầu ra của gói tin. Khi có được hệ thống này, hacker sẽ dễ dàng tiến hành Smurf Attack trên các hệ thống cần dùng để tấn công. g. UDP Flooding Đây là dạng tấn công hai hệ thống đích và được sử dụng để ngừng các dịch vụ của hai hệ thống được kết nối với nhau. Trong hai hệ thống này, một sẽ tạo ra chuỗi các ký tự (các ký tự yêu cầu gửi lại UDP) cho mỗi gói nhận và sẽ truyền qua hệ thống kia. Hệ thống còn lại sẽ phản xạ lại mọi thông điệp mà nó nhận được. Do vậy sẽ tạo ra một vòng lặp vô hạn giữa hai hệ thống, nên mọi dịch vụ khác giữa chúng sẽ bị ngưng trệ. Các tấn công UDP đòi hỏi phải có hai hệ thống máy cùng tham gia. Hacker sẽ làm cho hệ thống của mình đi vào một vòng lặp trao đổi các dữ liệu qua giao thức UDP. Và giả mạo địa chỉ IP của các gói tin là địa chỉ loopback (127.0.0.1), rồi gửi gói tin này đến hệ thống của nạn nhân trên cổng UDP echo (7). Sau đó, hệ thống của nạn nhân sẽ trả lời lại các message do 127.0.0.1 ( chính nó) gởi đến, kết quả là nó sẽ thực hiện một vòng lặp vô tận. Tuy nhiên, có nhiều hệ thống không cho dùng địa chỉ loopback nên hacker sẽ giả mạo một địa chỉ IP của một máy nào đó trong mạng nạn nhân và tiến hành làm ngập lụt UDP trên hệ thống nạn nhân. Theo cách này, nếu kẻ tấn công không thành công thì chính máy của hắn sẽ trở thành máy bị tấn công. h. Tấn công DNS Hacker có thể thay đổi đường dẫn của hệ thống nạn nhân đến DNS (Domain Name Server) bằng một địa chỉ đến website nào đó của hắn. Khi các máy khách truy cập vào hệ thống có yêu cầu DNS phân tích địa chỉ thành địa chỉ IP, lập tức DNS (đã bị hacker thay đổi cache tạm thời) sẽ đổi địa chỉ được yêu cầu phân tích thành địa chỉ IP mà hacker đã chỉ đến đó. Kết quả là dù đánh đúng tên trang web nhưng thay vì đến được trang web cần đến, các máy khách lại đồng loạt truy cập vào một hệ thống do chính hacker tạo ra. Hệ thống này sẽ không đáp ứng nổi. i. DDoS – tấn công từ chối dịch vụ phân tán DDoS yêu cầu phải có ít nhất vài hacker cùng tham gia. Đầu tiên, các hacker sẽ cố thâm nhập vào mạng máy tính được bảo mật kém, rồi cài lên hệ thống này chương trình DdoS Server. Sau đó, các hacker hẹn nhau đến thời gian đã định sẽ dùng DdoS client kết nối đến các DdoS server, rồi đồng loạt ra lệnh cho các DdoS server này tiến hành tấn công DDoS đến hệ thống nạn nhân. j. DRDoS DRDoS ( The Distributed Reflection Denial of Service Attack) có thể tạm dịch là tấn công từ chối dịch vụ bằng phương pháp phản xạ nhiều vùng. Đây có lẽ là kiểu tấn công lợi hại nhất và làm boot máy tính của đối phương nhanh gọn nhất. Cách làm cũng tương tự như DdoS, nhưng thay vì tấn công bằng nhiều máy tính thì kẻ tấn công chỉ cần dùng một máy thông qua các server lớn trên thế giới. Vẫn với phương pháp giả mạo địa chỉ IP của nạn nhân, kẻ tấn công sẽ gởi các gói tin đến các server mạnh nhất, nhanh nhất và có đường truyền rộng nhất như Yahoo, Google… Các server này sẽ phàn hồi các gói tin đó đến địa chỉ của nạn nhân. Việc cùng một lúc nhận được nhiều gói tin thông qua các server lớn này sẽ nhanh chóng làm nghẽn đường truyền của máy nạn nhân, điều này sẽ gây ra crash, reboot lại máy. Cách tấn công này lợi hại ở chỗ, chỉ cần một máy có kết nói Internet với đường truyền bình thường cũng có thể đánh bật được hệ thống có đường truyền tốt nhất thế giới nếu không kịp ngăn chặn. Hãy nhớ lại phương pháp tấn công SYN truyền thống của DoS. Phương pháp này dựa trên bước thứ nhất để mở kết nối của TCP, và đồng thời tạo các kết nối “open half” làm cho server bị ăn mòn hết tài nguyên. Các gói tin SYN được gửi trực tiếp đến server sau khi đã giả mạo IP nguồn. IP giả mạo sẽ là một IP không có thực nên server không thể hoàn thành kết nối. Giả sử bạn có server A và máy tính bị tấn công. Nếu bạn gửi một gói tin SYN đến Server A, trong đó IP nguồn đã bị giả mạo thành IP của nạn nhân. Khi đó, server A sẽ mở một kết nối và gửi một gói tin SYN/ACK cho nạn nhân. Vì nó nghĩ rằng, nạn nhân muốn mở kết nối với mình. Và đây chính là khái niệm của Reflection (phản xạ). 2. Các phòng chống tấn công DoS Để nhận biết hệ thống của bạn bị tấn bạn cần một đội ngũ nhân viên với tư cách là người quản trị mạng – tường tận về tất cả các nội dung của website. Đội ngũ đó hoàn toàn có khả năng phát hiện ra những dấu hiệu của cuộc tấn công như: khối lượng yêu cầu gửi qua mạng tăng, thời gian truy cập website lâu, thời gian thực hiện của hệ thống trả lời chậm lại… Bạn có thể trở thành “nạn nhân” của cuộc tấn công DoS theo hai con đường: hoặc bạn là mục tiêu chính của cuộc tấn công hoặc bạn trở thành kẻ tòng phạm không chủ tâm của cuộc tân cống. Để giảm thiểu các rủi ro của cuộc tấn công DoS, bạn có thể tham khảo các giải pháp sau: Chuyển dịch vụ web hosting của bạn sang một nhà cung cấp lớn và có uy tín hơn. Họ sẽ có các chương trình để tránh, phát hiện và khắc phục hậu quả của các cuộc tấn công DoS. Quan tâm hơn đến việc đầu tư nâng cấp phần cứng, nếu bạn thuê máy chủ trang web cho riêng bạn. Bởi vì, khối lượng thông tin mà bạn có thể xử lý càng lớn thì khả năng tấn công làm tràn thông tin trên máy chủ của bạn sẽ càng khó đối với các hacker. Các công ty có hệ thống lớn có thể gia nhập vào cầu dẫn của mạng cục bộ trong cấu trúc máy chủ của họ. Cầu dẫn sẽ có chức năng lưu trữ và chuyển tiếp các bức thư điện tử trong mạng máy tính, đầu tiên nó sẽ xác định tất cả các đường dẫn đến địa chỉ nhận sau đó lựa chọn đường dẫn thích hợp nhất. Một số các cầu dẫn trên thị trường hiện nay còn có những đặc điểm cho phép bạn hạn chế lượng thông tin tải về. Hơn nữa, khi bạn đã trở thành nạn nhân của tấn công DoS, cầu dẫn sẽ giúp bạn khôi phục lại nhanh hơn. Chuẩn bị một kế hoạch hỗ trợ để cập nhật lượng thông tin tải đến các địa chỉ web. Khi nhận ra được nguy cơ sẽ trở thành nạn nhân của cuộc tấn công DoS, đó cũng là lúc bạn phải thay đổi khả năng tải hợp lý hơn. Cuộc tấn công DoS là riêng đối với địa chỉ web của bạn, nhưng bạn có thể chuyển tiếp những thông tin đề nghị hợp lý của bạn đến những máy chủ khác trong khi đang bị tấn công. Kẻ thực hiện cuộc tấn công sẽ không biết điều đó. a. Chống tấn công Smurf Attack Đây là một kiểu tấn công lợi hại nhất. Đối phó với nó là cả một vấn đề vì không một cá nhân nào làm được mà yêu cầu phải là một cộng đồng. Từng cá nhân, công ty, tổ chức phải biết cấu hình, thiết lập máy tính, hệ thống của mình để không bị biến thành mạng khuyếch đại. Một khi bị tấn công, các công ty, cá nhân phải biết phối hợp với nhà cung cấp dịch vụ Internet (ISP) nhằm giới hạn lưu lượng ICMP, tăng cường biện pháp ứng phó. Theo dõi cuộc tấn công kiểu này là rất khó nhưng không phải không được. Để không bị biến thành mạng khuyếch đại, bạn nên vô hiệu hóa chức năng directed broadcast tại bộ định tuyến: Đối với bộ định tuyến của Cisco, bạn hãy vô hiệu hóa bằng lệnh No ip directed-broadcast. Đối với hệ điều hành Solaris thì bổ xung lệnh: etc/rc2.d/S69inet ndd –set /dev/ip ip_respond_to_echo_broadcast 0. Đối với hệ điều hành Linux thì nên áp dụng Firewall ở các cấp độ nhân thông qua ipfw. Nhớ biên dịch Firewall sang nhân rồi thi hành các câu lệnh sau: ipfwadm -| -a deny –P icmp –D 10.10.10.0 –S 0/0 0 8 ipfwadm -| -a deny –P icmp –D 10.10.10.0 –S 0/0 0 8 Còn đối với các thiết bị khác, bạn nên tham khảo các tài liệu kèm theo để biết cách áp dụng. b. Chống tấn công SYN Flood Để biết mình có bị tấn công theo kiểu SYN Flood không, bạn có thể sử dụng lệnh Netstat – a. Nếu thấy nhiều kết nối trong tình trạng SYN_RECV thì có nghĩa là bạn đang bị tấn công bằng SYN Flood. Sau đây là một số giải pháp phòng chống: Tăng kích thước hàng đợi kết nối. Giảm khoảng thời gian thiết lập kết nối. Tránh né tấn công SYN Flood bằng các phần mềm chuyên dụng. IDS mạng. Khi bị tấn công SYN Flood, bạn thực hiện các biện pháp sau: Khi phát hiện máy chủ của mình bị tấn công, bạn nhanh chóng truy tìm địa chỉ IP đó và cấm không cho gửi dữ liệu đến máy chủ. Dùng tính năng lọc dữ liệu của router hay Firewall để loại bỏ các gói tin không mong muốn, giảm lưu lượng lưu thông trên mạng và tải của máy chủ. Sử dụng các tính năng cho phép đặt giới hạn tốc độ trên router hay Firewall để hạn chế số lượng gói tin vào hệ thống. Nếu bị tấn công do lỗi phần mềm hay thiết bị thì nhanh chóng cập nhật các bản sửa lỗi cho hệ thống đó hoặc thay thế. Dùng một số cơ chế, công cụ, phần mềm chống lại kiểu tấn công này. Tắt các dịch vụ khác nếu có trên máy chủ để giảm tải và có thể đáp ứng tốt hơn. Nếu được thì nâng cấp phần cứng hoặc sử dụng thêm máy chủ để phân chia tải. Tạm thời chuyển máy chủ sang một địa chỉ khác. c. Chống tấn công DNS Với kiểu tấn công này bạn cần quan tâm đến BIND. Để giải quyết vấn đề trong BIND, tốt nhất bạn nên nâng cấp BIND lên các phiên bản mới nhất có độ bảo mật cao hơn. d. Chống tấn công Windows NT Spool Để không bị tấn công kiểu này thông qua phiên rỗng, bạn phải can thiệp vào Registry và xóa spools bằng cách: Vào Start. Chọn Run. Tại mục Run, gõ vào Regedit. Chọn khóa: HKEY LOCAL MACHINE \System \CCS \Serveces \LamanServer \Parameters \NullSessionPipes (REG_MULTI_SZ) Xóa các Foolss Đóng Registry e. Chống tấn công từ chối dịch vụ phân tán – DDoS Hình thức tấn công DDoS đã từng hạ bệ rất nhiều các trang web nổi tiếng như yahoo hay amazon. Kỹ thuật tấn công này dễ thực hiện nhưng khó phòng chống. Để thực hiện một cuộc tấn công bằng kỹ thuật DdoS, kẻ tấn công cấn có tối thiểu ba yếu tố: Client. Đây là hệ thống bị kiểm soát bởi kẻ tấn công. Nó được dùng những công cụ như Rootkit để giành quyền kiểm soát hệ thống nào đó, rồi dò tìm những site quản lý kém để có thể lợi dụng như một bộ điều khiển. Handler. Bộ điều khiển đó đến lượt mình bị nhiễm và được dung để tác động truy tìm các Zombine ( hay Zombie). Thường thì các server sử dụng hệ điều hành unix có độ bảo mật kém. Sau khi tìm được Zombine, handler sẽ tập hợp chúng lại để điều khiển cuộc tấn công. Zombine. Zombine được lây nhiễm vào các server có cấu hình bảo mật kém. Hacker sẽ dùng trực tiếp các server này để tấn công mục tiêu. Zombine sẽ tấn công mục tiêu cho đến khi nào có lệnh chấm dứt tấn công của hacker. Làm thế nào để biết được hệ thống của mình bị các hacker lợi dụng để biến thành zombine. Bạn có thế sử dụng công cụ Zombine Zapper khi bị nghi ngờ hệ thống đang có nguy cơ trở thành Zombine. Zombine Zapper là một chương trình có khả năng hoạt động như những client đến các DDOS Server đang gửi những gói tin làm ngập mục tiêu. Nó là một công cụ khá hữu hiệu khi bạn nghi ngờ hệ thống của mình có khả năng trở thành một Zombine. Với công cụ này bạn có thể nhanh chóng vô hiệu hóa Zombine này trước khi hệ thống của bạn bị lợi dụng. Ngoài ra, Zombine Zapper còn có thể đóng các DDOS Server. Bạn có thể cấu hình IDS (dò xâm nhập – đã đề cập ở trên) để chúng tự chạy Zombine Zapper. Bạn có thể tải chương trình Zombine Zapper tại địa chỉ: Cài đặt Zombine Zapper Trước hết bạn cần một hệ thống Unix hoặc Linux. Ngoài ra bạn cần có thư viện Libnet. Libnet là thư viện hộ trợ cho phép việc hệ thống tạo ra nhữn gói tin sử dụng trên mạng. Hệ thống của bạn buộc phải có thư viện này nếu như muốn sử dụng Zombine. Đây là một thư viện hết sức phổ dụng trên nền hệ điều hành Unix hay Linux. Bạn có thể tải chúng từ địa chỉ Lúc này bạn đã có trong tay mã nguồn của Zombine Zapper và Libnet. Bạn tiến hành các bước sau để cài Libnet Bung nén cho các gói bằng lệnh sau: tar –zxvf*.tar.gz. Cài Libnet bằng cách chuyển đến thư mục vừa bung nén Libnet rồi chạy scrip cấu hình bằng lệnh: ./configure. Gõ tiếp các lệnh: make, make all. Để kết thúc việc cài đặt Libnet, gõ lệnh: make supp, make ulti. Biên dịch trình Zombine Zapper Cấu trúc lệnh của Zombine Zapper Sau khi biên dịch Zombine Zapper xong, bạn gõ lệnh sau: ./zz. Bạn nhận được một màn hình với các thông tin sau, đó chính là bảng chỉ dẫn lệnh và các tùy chọn của Zombine Zapper: Zombie Zapper v1.2 – DDoS killer Bugs/comments to thegnome@razor.bindview.com More info anhd free tools at Copyright (c) 2000 BindView Development === You must speccify target(s) or a class C to send to USAGE: ./zz [-a 0-5] [-c class C] [-d dev] p-h] [-m host] [-s src] [-u udp] [-v] hosts -a antiddos type to kill: 0 types 1-4 (default) 1 trinoo 2 tfn 3 stacheldraht 4 trinoo on Windows 5 shart (requires you use the –m option) -c class C in x.x.x.0 form -f time in seconds to send packets (default 1) -d grab local IP from dev (default eht0) -h this help screen -m my host being flooded (used with –a 5 above, only one host) -s spoofed source address (just in case) -u UDP cource port for trinoo (default 53) -v verbose mode (use twice for more verbosity) Host(s) are target hosts (ignored if using –c) Trong đó, hãy chú ý một số tùy chọn phổ dụng sau: -a: Cho phép chỉ rõ địa chỉ bạn nghi ngờ đang là Zombine. -c: Tùy chọn này được dùng để quyết toàn bộ các host thuộc phân lớp C, nếu chưa biết chính xác host nào đang bị nhiễm Zombine. -s: Spồ địa chỉ của bạn, không cho hacker biết ai đã ngăn chặn Zombine của hắn. -u: Chuyển đổi cổng UDP mặc định. Một số ví dụ cụ thể trong việc sử dụng Zombine Zapper Như phần trước, sau khi biên dịch Zombine Zapper, bạn có thể chạy nó. Nếu nhìn thấy một menu help thì bạn đã biên dịch thành công. Bây giờ, giả sử bạn đang nghi ngờ trong hệ thống mạng của bạn là 192.168.5.0 có một vài host đang gửi những gói tin TFN (Tribal Flood Network). Thông thường, TFN Server hay sử dụng những mật mã mặc định. Nếu bạn muốn Server TFN ở trên host đó ngừng hoạt động, hãy sử dụng lệnh sau: ./zz –c 192.168.5.0. Khi đó, toàn bộ những TFN Server trên phân lớp mạng C sẽ bị vô hiệu hóa. Nếu bạn muốn vô hiệu hóa TFN Server trên một địa chỉ cụ thể, chẳng hạn như 207.192.45.2 thì bạn sử dụng lệnh: ./zz –a 2 207.192.45.2. Để biết nhiều thông tin hơn về gói tin được gửi ra, bạn có thể sử dụng tùy chọn –vv. Còn nếu muốn Spoof địa chỉ của mình để các hacker không biết ai đã ngăn chặn các gói tin làm ngập của hắn thì bạn có thể sử dụng tùy chọn –s đi kèm với địa chỉ IP muốn Spoof, VD: ./zz –a 2 –vv 207.192.45.2 –s 10.1.2.3. 3. Tấn công SQL Injection SQL Injection là một trong những lỗ hổng bảo mật nằm ngay tại ứng dụng SQL, một ngôn ngữ truy vấn được dùng trong cơ sở dữ liệu. Thông thường, khi người quản trị triển khai các ứng dụng Web trên Internet, họ vẫn nghĩ rằng việc bảo đảm an toàn, bảo mật chỉ tập trung vào các vấn để như hệ điều hành, hệ quản trị cơ sở dữ liệu, hay các Webserver chạy ứng dụng, mà họ quên mật là ngay bản thân các ứng dụng mà hệ thống đang sử dụng cũng tiềm ẩn các lỗ hổng bảo mật. Hiện nay, tại Việt Nam, vấn đề lỗ hổng bảo mật SQL Injection chưa được quan tâm đúng mức. Thông thường, đối với các nhà quản trị website thì hiện nay họ chỉ quan tâm đến việc quét virus, cập nhật các phiên bản mới nhất. Còn đối với các lỗ hổng đến từ các ứng dụng ít được quan tâm hơn. Đó cũng là lý do vì sao mà trong thời gian gần đây, không ít các website tại Việt Nam bị tấn công và đa số đều là lỗi SQL Injection. Các dạng tấn công SQL Injection SQL Injection là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng trong việc kiểm tra dữ liệu nhập trên các ứng dụng web, thông báo lỗi của hệ quản trị cơ sở dữ liệu để thêm vào và thi hành các câu lệnh SQL bất hợp pháp. Hậu quả của tấn công SQL Injection là rất lớn, vì nó cho phép những kẻ tấn công thực hiện các thao tác xóa, hiệu chỉnh… Do đó, hacker có toàn quyền trên cơ sở dữ liệu của ứng dụng, thậm chí là server mà ứng dụng đó đang chạy. Lỗi này thường xảy ra trên các ứng dụng web có dữ liệu quản lý bằng các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle hay Sysbase. Các dạng tấn công bằng SQL Injection: Tấn công vượt qua kiểm tra đăng nhập. Sử dụng câu lệnh Select. Sử dụng câu lệnh Insert. Sử dụng các stored – procedures. a. Tấn công vượt qua kiểm tra đăng nhập Với dạng tấn công này, hacker dễ dàng vượt qua các trang đăng nhập nhờ vào lỗi khi sử dụng các câu lệnh SQL thao tác trên cơ sở dữ liệu của ứng dụng web. Xét một ví dụ điển hình, thông thường để cho phép người dùng có thể truy cập vào một trang web được bảo mật, hệ thống thường xây dựng trang đăng nhập để yêu cầu người dùng nhập thông tin về tên đăng nhập và mật khẩu. Sau khi người dùng nhập thông tin vào, hệ thống sẽ kiểm tra xem tên và mật khẩu hợp lệ hay không để quyết định cho phép hay từ chối thực hiện tiếp. Trong trường hợp này, người thiết kế có thể sử dụng hai trang, một trang HTML để hiển thị form nhập liệu và một trang ASP dùng để xử lý thông tin nhập từ phía người dùng. VD: Login.htm Username: Password: ExecLogin.asp <% Dim p_strUsername, p_strPassword, objRS, strSQL p_strUsername = Request.Form(“txtUsername”) p_strPassword = Request.Form(“txtPassword”) strSQL = “SELECT *FROM tblUsers” &_ “WHERE Username=’ ”&p_strUsername &_ “ ‘ and Password=’ “&p_strPassword &” ‘ “ Set objRS = Server.CreatObject(“ADODB.Recordset”) objRS.Open strSQL, “DSN=…” If (objRS.EOF) Then Response.Write “Iinvalid login.” Else Response.Write “You are logged in ass “& objRS(“Username”) End If Set objES = Nothing %> Thoạt nhìn, đoạn mã trang Execlogin.asp dường như không chứa bất kỳ một lỗ hổng bảo mật nào. Người dùng không thể đăng nhập mà không có username và password. Tuy nhiên, đoạn mã này thực sự không an toàn và là tiền để cho một cuộc tấn công kiểu SQL Injection. Đặc biệt, dữ liệu người dùng nhập vào được sử dụng trực tiếp để xây dựng câu lệnh SQL. Chính điều này giúp cho kẻ tấn công có thể điều khiển được câu truy vấn thực hiện. Ví dụ, nếu người sử dụng nhập chuỗi sau vào cả hai ô nhập liệu username và password của trang đăng nhập: “or” “=”. Lúc này câu truy vấn sẽ được gọi thực hiện là: SELECT *FROM tblUsers WHERE Username=”or”=” and Password=”or”=” Câu truy vấn này là hoàn toàn hợp lệ và sẽ trả về tất cả các bản ghi của bản danh sách các thành viên và đoạn mã tiếp theo xử lý người dùng đăng nhập bất hợp pháp như là một người dùng hợp lệ. b. Tấn công sử dụng câu lệnh SELECT Dạng tấn công này phức tạp hơn. Để thực hiện được kiểu tấn công này, kẻ tấn công phải có khả năng hiểu và lợi dụng các sơ hở trong các thông báo lỗi từ hệ thống để dò tìm các điểm yếu khởi đầu cho việc tấn công. Xét một ví dụ điển hình. Thông thường một website về tin tức sẽ có một trang nhập ID của tin nhắn cần hiển thị rồi sau đó truy vấn nội dung của tin có ID này. VD: trang Mã nguồn cho chức năng này được viết khá đơn giản: <% Dim vNewsID, objRS, strSQL vNewsID = Request(“ID”) strSQL = “SELECT * FROM T_NEWS WHERE NEWS_ID = “& vNewsID Set objRS = Server.CreatObject(“ADODB.Recordset”) objRS.Open strSQL, “DSN=…” Set objRS = Nothing %> Trong các tình huống thông thường, đoạn mã này hiển thị nội dung của tin có ID trùng với ID đã chỉ định và hầu như không thấy có lỗi. Tuy nhiên, kẻ tấn công có thể thay thế một ID hợp lệ bằng cách gán cho ID một giá trị khác. Từ đó nó khởi đầu cho một cuộc tấn công SQL Injection bất hợp pháp. Câu truy vấn SQL lúc này sẽ trả về tất cả các article từ bảng dữ liệu vì nó sẽ thực hiện câu lệnh sau: SELECT * FROM T_NEWS WHERE NEWS_ID=0 or 1=1 Chúng ta xét một ví dụ khác, ví dụ này nằm ở các trang tim kiếm. Trang này cho phép người dùng nhập các thông tin tìm kiếm như họ tên, từ khóa. Đoạn mã thường gặp là: <% Dim vAuthorNmae, objRS, strSQL vAuthorName = Request(“fAUTHOR_NAME”) strSQL = “SELECT *FROM T_AUTHOR WHERE AUTHOR_NAME=’ “&_ vAuthorName &” ‘ “ Set objRS = Server.CreatObject(“ADODB.Recordset”) objRS.Open strSQL, “DSN=…” … Set objRS= Nothing %> Tương tự như ví dụ trước, kẻ tấn công có thể bị lợi dụng sơ hở trong câu truy vấn SQL để nhập vào trường tên tác giả bằng chuỗi giá trị: ‘ UNION SELECT ALL SELECT OtherField FROM OtherTable WHERE ‘ ‘=’ (*) Lúc này, chương trình sẽ thực hiện thêm lệnh tiếp theo từ khóa UNION nữa. Hãy thử tưởng tượng kẻ tấn công có thể xóa toàn bộ cơ sở dữ liệu của bạn bằng cách chèn vào các đoạn lệnh nguy hiểm như lệnh xóa bảng DROP TABLE. Chắc bạn sẽ thắc mắc làm sao để biết được ứng dụng web bị lỗi này. Rất đơn giản, bạn hãy nhập vào chuỗi (*) ở trên. Nếu hệ thống báo lỗi về cú pháp dạng “Invalid object name”OtherTable””. Khi đó, bạn có thể biết chắc chắn là hệ thống đã thực hiện câu SELECT sau từ khóa UNION, vì như vậy mới có thể trả về lỗi mà bạn đã cố tình tạo ra trong câu lệnh SELECT. Chắc bạn cũng thắc mắc là làm thế nào để bíết được tên của các bảng dữ liệu mà thực hiện các thao tác phá hoại khi ứng dụng web bị lỗi SQL Injection. Điều này rất đơn giản. Trong SQL Server có hai đối tượng là sysobjects và syscolumns cho phép liệt kê tất cả các tên bảng bên trong và cột của hệ thống. Kẻ tấn công chỉ cần sử dụng câu lệnh sau: UNION SELECT name FROM sysobjects WHERE xtype = ‘U’ Chỉ cần câu lệnh trên, kẻ tấn công có thể liệt kê được tất cả các tên bảng dữ liệu. c. Dạng tấn công sử dụng câu lệnh INSERT Thông thường, các ứng dụng web cho phép người dùng đăng ký một tài khoản để tham gia. Chức năng không thể thiếu là sau khi đăng ký thành công, người dùng có thể xem và hiệu chỉnh thông tin của mình. SQL Injection có thể được dùng khi hệ thống không kiểm tra tính hợp lệ của thông tin nhập vào. VD: một lệnh INSERT có thể có cú pháp dạng: INSERT INTO TableName VALUES(‘Value One’, ‘Value Two’, ‘Value Three’) Nếu đoạn mã xây dựng SQL có dạng: <% StrSQL = “INSERT INTO TableName VALUES(‘ “& strValueOne & “ ‘,‘ “_ & strValueTwo & “ ‘,’ “& strValueThree & “ ‘)” Set objRS = Server.CreatObject(“ADODB.Recordset”) objRS.Open strSQL, “DSN=…” … Set objRS = Nothing %> Với đoạn mã trên thì chắc chắn sẽ bị lỗi SQL Injection. Bởi nếu bạn nhập vào trường thứ nhất, ví dụ như: + (SELECT TOP 1 FieldName FROM TableName) + ‘ Lúc này câu truy vấn sẽ là: INSERT INTO TableName VALUES(‘ ‘ + (SELECT TOP 1 FieldName FROM TableName) + ‘ ‘, ‘abc’,’def’) Khi đó, lúc thực hiện xem thông tin thì xem như bạn đã yêu cầu thực hiện thêm một lệnh nữa, đó là: SELECT TOP 1 FieldName FROM TableName. d. Dạng tấn công bằng cách sử dụng store-procedures Dạng tấn công này sẽ gây tác hại rất lớn nếu như ứng dụng được thực thi với quyền quản trị hệ thống. Chẳng hạn, nếu kẻ tấn công thay đoạn mã vào dạng sau: Exec xp_cmdshell ‘cmd.exe dir C:’ Khi đó, hệ thống sẽ thực hiện lệnh liệt kê thư mục trên ổ đĩa chương trình:\ cài đặt server. Nói chung, sự nguy hiểm của kiểu tấn công dạng này tùy thuộc vào câu lệnh nằm đằng sau cmd.exe. 4. Các phương thức phòng chống tấn công SQL Injection Lỗi SQL Injection khai thác sự bất cẩn của các lập trình viên phát triển ứng dụng web khi sử lý các dữ liệu nhập vào để xây dựng câu lệnh SQL. Nếu ứng dụng sử dụng quyền dbo (database owner – quyền người sở hữu cơ sở dữ liệu) khi thao tác dữ liệu, nó có thể xóa toàn bộ các bảng dữ liệu, tạo ra các bảng mới… Nếu ứng dụng sử dụng quyền quản trị hệ thống, nó có thể điều khiển toàn bộ hệ quản trị cơ sở dữ liệu và với quyền hạn rộng lớn như vậy, nó có thể tạo ra tài khoản người dùng bất hợp pháp để điều khiển hệ thống của bạn. Để phòng tránh kiểu tấn công SQL Injection, bạn có thể thực hiện ở hai mức: Kiểm soát chặt chẽ dữ liệu nhập vào. Thiết lập cấu hình an toàn cho hệ quản trị cơ sở dữ liệu. a. Kiểm soát dữ liệu nhập vào Ở mức này, nhà quản trị cần kiểm soát chặt chẽ dữ liệu nhập nhận từ đối tượng Request. VD: giới hạn chiều dài của chuỗi nhập liệu, hoặc xây dựng hàm EscapeQuotes để thay thế các dấu nháy đơn bằng hai dấu nháy đơn như câu lệnh sau: <% Function EscapeQuotes(sInput) sInput = replace(sInput,” ‘ “,” ‘’ “) EscapeQuotes = sInput End Function %> Trong trường hợp dữ liệu nhập vào là số, lỗi xuất phát từ việc thay thế một giá trị được tiên đoán là dữ liệu số bằng chuỗi chứa câu lệnh SQL bất hợp pháp. Để tránh điều này, kiểm tra dũ liệu có đúng kiểu hay không bằng hàm isNumberic(). Ngoài ra, có thể xây dựng hàm loại bỏ một số ký tự và các từ khóa nguy hiểm như: “, ;, -, select, insert, xp_... ra khỏi chuỗi dữ liệu nhập từ phía người dùng: <% Function Killchars(sInput) Dim badChars Dim newChars badChars = array(“select”,”drop”,”;”,”—“,”insert”,”delete”,”xp_”) newChars = strInput for I = 0 to uBound(badChars) newChars = replace(newChars, badChars(i),””) next KillChars = newChars End Function %> b. Thiết lập cấu hình an toàn cho hệ quản trị cơ sở dữ liệu Với phương pháp phòng chống này, người quản trị cần có cơ chế kiểm soát chặt chẽ và giới hạn quyền xử lý dữ liệu đến tài khoản người sử dụng mà ứng dụng web đang sử dụng. Các ứng dụng thông thường nên tránh dùng các quyền như dbo hay quyền quản trị hệ thống. Quyền càng bị hạn chế thì thiệt hại càng ít. Ngoài ra, để tránh các nguy cơ từ các kiểu tấn công SQL Injection, người quản trị nên chú ý loại bỏ bất kỳ thông tin kỹ thuật nào chứa trong thông điệp chuyển xuống cho người sử dụng khi ứng dụng có lỗi. Các thông báo lỗi thông thường tiết lộ các chi tiết kỹ thuật có thể cho phép kẻ tấn công biết được các điểm yếu của hệ thống, bạn cần phải quản lý thật chặt chẽ các thông báo lỗi này. KẾT LUẬN An toàn và bảo mật là chủ đề xuyên suốt của thương mại điện tử. Dù bạn là ai, khách hàng, nhà cung cấp …dù bạn đang tham gia vào hoạt động nào của thương mại điện tử, mua hàng, bán hàng hay chỉ đơn giản là nhập password thì hãy luôn đặt vấn đề an toàn và bảo mật lên hàng đầu. Trông thế giới thương mại điện tử, khi mà mọi thứ đều là ảo, bạn sẽ chẳng thể giữ chặt tài sản của bạn trong tay, cũng như để ý ai đến gần tài sản của bạn mà bảo vệ. Khi đã quyết định từ bỏ thương mại truyền thống để tham gia vào một lĩnh vựa hoàn toàn mới lạ, cách tốt nhất là thận trong trong từng bước đi và xây dựng cho mình hàng rào bảo vệ tốt nhất có thể. Thương mại điện tử thâm nhập vào Việt Nam khá muộn so với thể giới, mới từ năm 1997, vì vậy sẽ có rất nhiều khó khăn cho các doanh nghiệp Việt Nam khi chống đỡ lại những hình thức lừa đảo, tấn công hết sức tinh vi, mới lạ. Tuy nhiên, hãy biến sự chậm chạp này thành lợi thế bằng cách tiếp thu những kinh nghiệm bảo mật của thế giới. Đó là con đường nhanh nhất, tiết kiệm chi phí nhất để bắt kịp chuyến tàu thương mại điệnt tử thế giới đã đi trước ta rất nhiều năm. Trong khuôn khổ của một đề án môn học, em chỉ xin được đề cập đến những khía cạnh chung nhất của vấn đề an toàn và bảo mật trong thương mại điện tử. Đó là những kiến thức mà một cá nhân nên biết khi tham gia vào thương mại điện tử. Bởi tại đây, cái bảo vệ tài sản của bạn không phải là két sắt mà chính là tri thức. Những dòng cuối này em xin được gửi lời cảm ơn chân thành nhất đến thầy Bùi Thế Ngũ, người đã giúp đỡ em rất nhiều trong việc hoàn thành đề án này. Tài liệu tham khảo Giáo trình và vở ghi. Thương mại điện tử thực tế và giải pháp – CN. Nguyễn Duy Quang, KS. Nguyễn Văn Khoa – NXB Giao thông vận tải. Website Ngân hàng nhà nước Việt Nam – MỤC LỤC

Các file đính kèm theo tài liệu này:

  • docM0840.doc
Tài liệu liên quan