Tấn công vượt qua xác thực ký số PDF SHADOW ATTACK: Ảnh hưởng và giải pháp ngăn chặn
1. Tổng quan về cấu trúc file PDF
Định dạng PDF (Portable Document Format) là một định dạng tài liệu độc lập với nền tảng, nó bao gồm 3 phần chính được mô tả như hình sau (1 p. 4):
Hình 1: Cấu trúc cơ bản định dạng PDF
Phần thứ nhất Body: Chứa các đối tượng khác nhau, các đối tượng được định danh bởi ID. Trong đó đối tượng quan trọng nhất là đối tượng gốc, như hình trên chính là đối tượng Catalog có ID định danh là 1 0. Catalog định nghĩa toàn bộ cấu trúc của tài liệu PDF thông qua các liên kết với các đối tượng khác trong phần Body. Như hình 1, Catalog liên kết với đối tượng form (AcroForm), các đối tượng MetaData, đối tượng Pages (đối tượng Pages liên kết với các Page các trang thực sự của file PDF), đối tượng Page sẽ liên kết với các đối tượng mô tả nội dung thực tế của file PDF như Content, Font, Images.
Phần thứ hai Xref table: Chứa các tham chiếu đến vị trí byte dữ liệu bắt đầu của tất cả các đối tượng được sử dụng trong phần Body.
Phần thứ ba Trailer: Có chứa 2 tham chiếu, trong đó tham chiếu thứ nhất là vị trí byte dữ liệu bắt đầu của Xref table, tham chiếu thứ 2 là đến ID định danh của đối tượng gốc Catalog.
Cập nhật IS (Incremental Saving): Nội dung của file PDF có thể được cập nhật thay đổi vì nhiều nguyên nhân khác nhau, ví dụ thêm mới các Comment hoặc cập nhật các form động. Về mặt kỹ thuật có thể thêm mới nội dung trực tiếp vào file PDF hiện có và có thể thêm các tham chiếu mới trong bảng tham chiếu Xref. Tuy nhiên, với phương thức cập nhật IS, nội dung mới được thêm vào bằng cách thêm các đối tượng mới vào một Body mới ngay sau đối tượng Trailer ở cuối file PDF, để đầy đủ các thông tin cho các đối tượng mới thì các đối tượng Xref table và Trailer được thêm vào. Do đó, file PDF sẽ có nhiều body, Xref table và Trailer nếu sử dụng phương thức cập nhật IS. (1 p. 5).
2. Mô hình tấn công Shadow attack và các thay đổi xảy ra
Mô hình tấn công
Attacker (kẻ tấn công) có thể tiếp cận và sửa chữa văn bản ký số trước khi được ký. Sau khi văn bản đã được ký số, kẻ tấn công tiếp tục thực hiện thay đổi nội dung hiển thị trên văn bản mà có thể vượt qua xác thực tính hợp lệ của tài liệu (1 pp. 6,7).
Hình 2: Sơ đồ mô hình tấn công Shadow attack
(1). Attacker tạo ra file PDF1 (shadowed document), trong file PDF1 có nội dung bất kỳ và attacker sẽ sử dụng các kỹ thuật nhúng các nội dung ẩn (không hiển thị khi trên các phần mềm ký số hay viewer pdf), do vậy người ký số(signers) sẽ không biết các nội dung này.
(2). Signers thực hiện ký số PDF1 và tạo ra PDF2 đã được ký.
(3). Attacker nhận PDF2 đã ký và sửa lại nội dung bằng cách cho hiện các nội dung ẩn trước đó và ẩn các nội dung cần thiết ban đầu được PDF3 và gửi cho người dùng, người dùng sử dụng các công cụ xác thực PDF3 vẫn hợp lệ mặc dù đã bị thay đổi nội dung sau khi ký.
Các loại thay đổi có thể coi là hợp lệ
Tất cả các loại tấn công tài liệu ký số PDF đều dựa trên các loại thay đổi (đặc tả định dạng PDF và quá trình xử lý xác thực tài liệu được coi là hợp lệ) để làm thay đổi nội dung tài liệu mà vẫn vượt qua kiểm tra xác thực. Có 3 loại thay đổi được coi là hợp lệ sau (1 p. 9):
Thêm mới Xref table và Trailer: Khi file pdf thay đổi thì Xref table và Trailer sẽ được thêm vào file. Do mỗi lần xử lý ký số Xref table và Trailer sẽ được sinh ra, nên việc thêm Xref table và Trailer vào cuối file sẽ không ảnh hưởng đến tính hợp lệ của tài liệu khi thực hiện xác thực.
Ghi đè lên các đối tượng harmless (vô hại): Có thể thêm mới các đối tượng ngoài phạm vi nội dung ký số và ghi đè thay thế các nội dung ký số. Loại cập nhật này gọi là Incremental Saving Attack (ISA). ISA tập trung vào các kiểu đối tượng trực tiếp ảnh hưởng đến nội dung của tài liệu như Catalog, Pages, Page, Contents. Do các ứng dụng xác thực đã phát hiện và khắc phục được lỗ hổng này nên các đối tượng tấn công có thể tập trung vào các đối tượng có ảnh hưởng trực tiếp đến thể hiện của nội dung như font, metadata.
Thay đổi trên form: Kẻ tấn công lợi dụng thuộc tính đặc biệt của các trường thông tin động trên form – gồm có hai giá trị (giá trị thực và giá trị overlay). Giá trị overlay hiển thị trên giá trị thực và có thể bị thay đổi mà không ảnh hưởng đến tính hợp lệ của tài liệu khi thực hiện xác thực.
3. Các phương thức tấn công Shadow attack
Tấn công Hide (Che giấu)
Cách thức: Attacker chuẩn bị tài liệu ký số có 2 lớp nội dung, lớp 1 thể hiện nội dung attacker mong muốn và lớp 2 thể hiện nội dung phù hợp với người ký; lớp 2 sẽ được thể hiện che nội dung của lớp 1 để gửi cho người ký; khi tài liệu được ký xong, kẻ tấn công thực hiện kỹ thuật ẩn đi lớp 2 và nội dung lớp 1 được thể hiện - tức là nội dung tài liệu đã bị thay đổi (1 pp. 10,11).
Các biến thể:
Ẩn nội dung thông qua trang: Attacker tạo ra 1 đối tượng mới trong trang chứa tất cả các nội dung mong muốn, cần thiết và hiện ở trên cùng để che đi các nội dung phía sau. Sau khi ký xong đối tượng này sẽ được ẩn đi.
Hình 3: Mô hình tấn công Hide
Ẩn nội dung thông qua Xref: Được sử dụng nếu ứng dụng viewer không chấp nhận thay đổi cấu trúc các đối tượng (page, pages, contents) trong PDF. Các kỹ thuật sau có thể được áp dụng.
Attacker có thể tạo ra một update dạng IS chỉ update Xref table cập nhật tham chiếu của đối tượng overlay không cho trỏ đến nội dung nào, do vậy tự động nội dung overlay bị mất đi và nội dung bên dưới sẽ thể hiện trên tài liệu. Cách này tác động trực tiếp đến đối tượng overlay, nhưng có nhiều ứng dụng viewer cảnh báo và thông báo lỗi.
Attacker có thể tạo ra 2 loại đối tượng Xref khác nhau có cùng 1 ID (một đối tượng kiểu image được xác định là overlay, sau khi ký xong thực hiện chuyển đối tượng overlay kiểu image thành kiểu XML/Metadata (đối tượng kiểu XML/Metadata không thể hiện trên tài liệu) do vậy nội dung của đối tượng còn lại sẽ được thể hiện.
Tấn công Replace (Thay thế)
Hình 4: Tấn công Replace
Cách thức tấn công: Attacker thêm các đối tượng (trong định dạng pdf không mang tính chất quyết định nội dung và việc thay đổi giá trị trên các đối tượng này được coi là hợp lệ như font, metadata và các giá trị overlay của các trường trên form động) vào tài liệu trước khi ký, tài liệu sau khi ký xong attacker tiến hành thay đổi các tham chiếu hoặc giá trị của các đối tượng này (1 pp. 11,12).
Các biến thể
Replace via overlay: Mục tiêu tấn công là các đối tượng tương tác trong PDF (các form tương tác) dùng để nhập dữ liệu động. Các trường trong form có thể có giá trị mặc định và có thể thay đổi. Attacker dựa vào thuộc tính đặc biệt của text field trên form là có thể hiện 2 giá trị khác nhau (1 giá trị thực và 1 giá trị overlay). Giá trị overlay sẽ hiện bên trên giá trị thực và bị ẩn đi khi text field được chọn.
Quá trình tấn công attacker chuẩn bị tài liệu pdf với form có giá trị thực (giá trị mà attacker mong muốn) và giá trị overlay (giá trị mà người ký mong muốn). Người ký có thể không thực hiện chọn các trường trên form nên không nhìn thấy nội dung thực sự khi ký. Khi tài liệu được ký xong, kẻ tấn công thay đổi giá trị overlay về giá trị mong muốn, điều này không ảnh hưởng đến việc kiểm tra tính hợp lệ của tài liệu vì giá trị thực của text field không thay đổi.
Replace via overwrite: Attacker chuẩn bị tài liệu với một đối tượng font cho việc thể hiện nội dung. Sau khi ký xong, attacker thêm mội đối tượng mô tả font mới thay thế cho đối tượng font trước đó và làm thay đổi trạng thái thể hiện của nội dung trên tài liệu.
Hình 5: Cách thức tấn công Replace
Tấn công kết hợp Hide và Replace (Che giấu và thay thế)
Cách thức: Attacker tạo ra tài liệu PDF có chứa các đối tượng ẩn (các đối tượng này có thể được tham chiếu từ tài liệu khác hoặc không). Nội dung của đối tượng ẩn có thể được sắp xếp để thay thế cho một hoặc nhiều nội dung trên tài liệu sau khi ký. Người ký chỉ nhìn thấy nội dung thể hiện trên tài liệu và không phát hiện được có các nội dung ẩn khác. Sau khi tài liệu được ký kẻ tấn công sẽ tạo các cập nhật IS thêm mới Xref table và Trailer tham chiếu đến nội dung ẩn và thay thế cho nội dung hiện tại (1 pp. 13,14).
Mô tả cách thức tấn công
Hình 6: Cách thức tấn công kết hợp Hide và Replace
Attacker tạo ra tài liệu có chứa 2 đối tượng có cùng ID 4 0 nhưng có nội dung khác nhau. Xref table và Trailer chỉ tham chiếu đến đối tượng đầu tiên (nội dung đối tượng phù hợp với người ký).
Người ký chỉ nhìn thấy nội dung phù hợp và thực hiện ký.
Sau khi ký xong kẻ tấn công thêm xref table và trailer tham chiếu đến nội dung 4 0 thứ 2 (nội dung attacker mong muốn). Và tài liệu hiển thị nội dung khác với nội dung khi ký và các thay đổi này không làm mất tính hợp lệ của tài liệu.
Với tấn công này, kẻ tấn công có thể chuẩn bị tài liệu và thay đổi toàn bộ tài liệu sau khi ký. Tuy nhiên, trong quá trình ký số có thể thực hiện tiền xử lý tài liệu (phát hiện và xóa bỏ các đối tượng không được sử dụng) trước khi ký, thì có thể loại bỏ được các hành động tấn công sau khi ký của attacker.
4. Ảnh hưởng Shadow attack đến các ứng dụng ký số
Ảnh hưởng đến các ứng dụng ký số nói chung
Bảng dưới đây được nhóm các nhà nghiên cứu RUB đưa ra cho thấy sự ảnh hưởng của tấn công Shadow attack với tất cả các phần mềm viewer pdf hiện nay (1 p. 15):
Kết quả, có 24/27 ứng dụng chịu ảnh hưởng bởi tấn công Shadow attack, trong đó 15 ứng dụng hoàn toàn bị ảnh hưởng và 9 ứng dụng chịu ảnh hưởng khi có những điều kiện nhất định.
Đánh giá ảnh hưởng của tấn công Shadow attack đến các công cụ ký số của Cục Chứng thực số và Bảo mật thông tin
Dựa trên các tài liệu mẫu được cung cấp bởi nhóm các nhà nghiên cứu RUB, qua quá trình nghiên cứu, các chuyên gia của Cục đã đưa ra Bảng đánh giá mức độ ảnh hưởng của tấn công Shadow attack với các các công cụ của Cục như sau:
Các chuyên gia của Cục Chứng thực số và Bảo mật thông tin đánh giá, hiện tại tấn công Shadow attack không ảnh hưởng nhiều đến các công cụ và dịch vụ ký số, xác thực của Cục bởi hai lý do:
Thứ nhất, với biến thể Shadow attack – Hide làm thay đổi sai lệch cấu trúc đối tượng trong tài liệu PDF nên trong quá trình xử lý bóc tách chữ ký số xảy ra lỗi trong quá trình xác thực;
Thứ hai, với các biến thể Shadow attach – Replace và Hide and Replace, thực hiện update ISA thêm các đối tượng Xref và Trailer vào cuối tài liệu và bên dưới chữ ký số. Trong quá trình xử lý xác thực với các tài liệu đã ký, khi chữ ký số được xác định là đối tượng được thêm vào cuối cùng của tài liệu thì nó mới được coi là hợp lệ; nếu tồn tại đối tượng khác bên dưới chữ ký số thì tài liệu được xác định là đã bị thay đổi sau khi ký.
5. Các khuyến nghị của các tổ chức quốc tế
Đối với các dịch vụ ký số
Thực hiện kiểm tra mức độ ảnh hưởng của tấn công Shadow attack đối với các dịch vụ và công cụ ký số.
Thực hiện tiền xử lý tài liệu ký, không để tài liệu ký chứa bất kỳ nội dung ẩn hoặc nội dung động nào.
Nên chuyển chuyển tài liệu cần ký về định dạng PDF/A trước khi thực hiện ký. Bởi PDF/A là một phiên bản chuẩn ISO của PDF, được sử dụng trong lưu trữ tài liệu điện tử lâu dài. PDF/A có các tính năng: Không chứa âm thanh và hình ảnh động; Không cho phép chạy javascript và các tập tin thực thi; Tất cả các font sử dụng hiển thị được chứa trong file; Màu sắc thể hiện theo chỉ dẫn trong file, không phụ thuộc vào thiết bị hiển thị; Không cho phép mã hóa; Bắt buộc sử dụng chuẩn metadata; Không cho phép tham chiếu đến nội dung từ file khác; Các đối tượng, lớp transparent không cho phép trong PDF/A-1, cho phép trong PDF/A-2; Chữ ký số theo chuẩn PadES; PDF/A-1 không cho phép nhúng file; PDF/A-2 cho phép nhúng các file PDF/A; PDF/A-3 cho nhúng tất cả các định dạng file; Dạng XML-based sẽ được chuyển đổi sang dạng từ điển dữ liệu. PDF/A có các phiên bản sau:
Các trường dữ liệu động cần kết hợp với từ điển dữ liệu.
Cần hiển thị nội dung thực mà người dùng ký số trên đó cho người dùng xem sau khi ký xong.
Các chữ ký số cần thỏa mãn các tiêu chuẩn PAdES (ETSI TS 103172 v.2.2.2) với các mức độ (B, T, LT, LTA) (2).
Đối với các dịch vụ xác thực
Thực hiện kiểm tra mức độ ảnh hưởng của tấn công Shadow attack đối với các dịch vụ và công cụ xác thực.
Thực hiện thuật toán được đề xuất như một biện pháp để đối phó với tấn công Shadow attach (thuật toán do nhóm nghiên cứu RUB đề xuất). Người dùng nên được thông báo về nhứng cập nhật (IS) kể cả với những nội dung dạng font hay metadata.
Báo cáo xác thực cần chỉ ra được phạm vi dữ liệu được bao phủ bởi mỗi chữ ký.
Báo cáo xác thực cần chỉ ra được tài liệu được ký có chứa nội dung ẩn hoặc động hay không. Chỉ ra mức độ phù hợp định dạng PDF/A của tài liệu.
Báo cáo xác thực nên đưa ra mức độ thỏa mãn tiêu chuẩn PadES (ETSI TS 103172 v.2.2.2) của chữ ký số.
Xem xét điều chỉnh chính sách xác thực (2).
6. Một số khuyến cáo và giải pháp đối phó với tấn công Shadow attack
Hiện nay, Cục Chứng thực số và Bảo mật thông tin đang triển khai ba công cụ ký số (Công cụ ký số và xác thực VsignPdf; Công cụ tích hợp ký số trên Web: VGCASignService và Công cụ tích hợp ký số trên thiết bị di động) và một dịch vụ ký số xác thực (Cổng dịch vụ xác thực: https://certify.ca.gov.vn).
Mặc dù hiện tại mức độ ảnh hưởng của tấn công Shadow attack đối với các công cụ và dịch vụ ký số xác thực do Cục Chứng thực số và Bảo mật thông tin đảm bảo, cung cấp là không lớn, nhưng để đảm bảo tính sẵn sàng và đáp ứng của công cụ và dịch vụ, các tổ chức cần thực hiện rà soát và lên phương án thực hiện cải tiến cập nhật và thực hiện theo các khuyến nghị của các tổ chức nghiên cứu quốc tế đã được công nhận. Đồng thời, các cơ quan, đơn vị cần thực hiện rà soát và kiểm soát chặt chẽ quy trình từ khâu chuẩn bị tài liệu đến khi hoàn thành ký số; Sử dụng các công cụ ký số và xác thực của Cục Chứng thực số và Bảo mật thông tin. Các công cụ này đã được thực hiện đánh giá, kiểm tra, không chịu ảnh hưởng lớn từ tấn công Shadow attack.
Cục Chứng thực số và Bảo mật thông tin đã và đang triển khai thực hiện theo các khuyến nghị quốc tế đối với các dịch vụ, công cụ ký số và dịch vụ, công cụ xác thực. Đồng thời, Cục sẽ nghiên cứu thuật toán xác thực do nhóm nghiên cứu RUB đề xuất và thử nghiệm để áp dụng vào các công cụ và dịch vụ ký số, xác thực; Nghiên cứu thực hiện chi tiết báo cáo xác thực thêm các nội dung (Thông báo về các cập nhật ISA sau mỗi chữ ký; Thông báo về các nội dung ẩn trong tài liệu; Thông báo về mức độ phù hợp định dạng PDF/A của tài liệu; Thông báo về mức độ thỏa mã tiêu chuẩn PadES của chữ ký số).
Tài liệu tham khảo 1. Mainka, C., Mladenoc, V., Rohlmann, S., & Schwenk. Attacks bypassing the signature validation in PDF, available electronically at https://www.pdf-insecurity.org/download/report-pdf-signatures-2020-03-02.pdf. 03 03, 2020, p. 19. 2. Portail-qualite.lu. New attacks on electronic signature systems for PDF at https://portail-qualite.public.lu/fr/actualites/confiance-numerique/2020/new-attacks-on-electronic-signature-systems-for-pdf.html. 2020. 3. pdf-insecurity. Attacks on PDF Signatures at https://pdf-insecurity.org/signature-shadow/shadow-attacks.html. |
Lê Quang Tùng, Phạm Công Thảo