Phát hiện chuỗi tương tự

Một phần của tài liệu Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán (Trang 54)

Hệ thống này phát hiện cả URI link đáng ngờ và các chuỗi tương tự. Một XSS worm có thể lan truyền bằng cách gửi một URI link trỏ đến bản thân nó thay vì gửi plaintext. Vì thế trước khi so sánh các phần tử trong tập D và các phần tử trong tập P người viết sẽ so sánh URI lấy được từ giá trị tham số của yêu cầu HTTP gửi đi với các URI link trong văn bản hiện tại. Nếu tìm thấy thì sẽ chặn yêu cầu và cảnh báo cho người dùng về liên kết đáng ngờ đó. Sẽ có khả năng kẻ tấn công sử dụng các URI link khác nhau cho cùng một payload vì thế ta phải lấy nội dung của file đó về cho và tập D. Mặc dù chưa có cuộc tấn công nào như vậy sảy ra trên thưc tế. Quá trình phát hiện tương tự chưa được thực hiện khi chưa hoàn thành giải mã.

Khi mà tất cả mã trong D và P đã được giải xong ta đi thực hiện phát hiện tương tự. Ở đây người viết sử dụng thuật toán phát hiện chuỗi tương tự dựa trên trigrams bởi vì

tính mạnh mẽ của nó trong việc giải quyết một số kỹ thuật Javascript obfuscation (giấu mã, đảo mã).

Trigrams là tập hợp các đoạn có thể của một sâu. Mỗi đoạn có độ dài 3 kí tự (hoặc từ). Nếu mà độ dài là 3 kí tự thì gọi là character- lever trigrams.

Ví dụ: Sâu ‘kangaroo’ có character- lever trigrams : {kan ang nga gar aro roo} Còn nếu mỗi đoạn có độ dài 3 từ thì gọi là word- lever trigrams sau. Ví dụ câu ‘the quick red fox jumps over the lazy brown dog’ có word- lever trigrams sau: {the quick red, quick red fox, red fox jumps, fox jumps over, jumps over the, over the lazy, the lazy brown, lazy brown dog}

Thuật toán cụ thể như sau:

• Gọi T(s) là tập hợp character-level trigrams của string s

• Gọi S(p, d) là độ tương tự của 2 sâu p và d, trong đó p thuộc P và d thuộc D.

• Khi đó

S(p,d) nằm trong khoảng [0, 1]

Nếu tồn tại p thuộc P, d thuộc D mà S(p, d) vượt qua một ngưỡng T, thì ta có thể nói rằng request HTTP gửi đi có chứa XSS worm payload.

Một phần của tài liệu Nghiên cứu lỗ hổng bảo mật Cross-Site Scripting và xây dựng chương trình phát hiện sâu mã độc phát tán (Trang 54)