Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Phát hiện tấn công dò mật khẩu qua phân tích log

    Nhật ký đăng nhập (auth log) của máy chủ ghi lại từng lần đăng nhập gồm địa chỉ IP nguồn và kết quả (OK hoặc FAIL). Trong điều tra sự cố, việc đầu tiên thường là xác định địa chỉ IP có nhiều lần đăng nhập thất bại nhất — dấu hiệu điển hình của tấn công dò mật khẩu (brute-force).

    Cho nnn dòng log, mỗi dòng gồm địa chỉ IP và trạng thái (OK hoặc FAIL), hãy tìm địa chỉ IP có số lần FAIL nhiều nhất. Nếu có nhiều IP cùng đạt số lần FAIL cao nhất, chọn IP nhỏ nhất theo thứ tự từ điển (so sánh chuỗi ký tự thông thường, không so sánh theo giá trị số của từng octet). Nếu không IP nào có lần FAIL nào (kể cả khi n=0n = 0n=0), kết luận không có nghi vấn.

    Ví dụ: với 5 dòng log trong đó 192.168.1.10 xuất hiện FAIL 3 lần (nhiều nhất), kết quả là 192.168.1.10 3.

    • Định dạng đầu vào:

      Dòng 1: số nguyên nnn (0≤n≤1040 \le n \le 10^40≤n≤104) — số dòng log. nnn dòng tiếp theo, mỗi dòng dạng <IP> <STATUS> cách nhau một khoảng trắng, trong đó STATUS là OK hoặc FAIL.

    • Định dạng đầu ra:

      Nếu tồn tại ít nhất một lần FAIL: in một dòng <IP> <count> — địa chỉ IP có số lần FAIL nhiều nhất (nhỏ nhất theo từ điển nếu có đồng hạng) và số lần đó. Nếu không có lần FAIL nào: in NONE.

    Ví dụ:

    Đầu vào:

    5
    192.168.1.10 FAIL
    192.168.1.10 FAIL
    192.168.1.11 OK
    192.168.1.10 FAIL
    192.168.1.12 FAIL

    Đầu ra:

    192.168.1.10 3
    

    Đầu vào:

    4
    10.0.0.1 FAIL
    10.0.0.2 FAIL
    10.0.0.1 FAIL
    10.0.0.2 FAIL

    Đầu ra:

    10.0.0.1 2
    

    Đang tải editor...