banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận bảo mật Cơ chế lưu mật khẩu của IE, Firefox  XML
  [Question]   Cơ chế lưu mật khẩu của IE, Firefox 13/01/2007 01:29:54 (+0700) | #1 | 35863
[Avatar]
kryptos
Member

[Minus]    0    [Plus]
Joined: 12/09/2006 10:42:48
Messages: 24
Offline
[Profile] [PM] [WWW]
AutoComplete trong IE, Firefox (Bài viết 1)


Đã rất nhiều người sử dụng tính năng nhớ mật khẩu khi đăng nhập vào các trang web: vào hòm thư… Nhưng cơ chế lưu trữ của chúng ra sao, hệ thống sẽ mã hoá dữ liệu đó như thế nào, cũng như việc hệ thống sử dụng cách nào để truy cập vào các dữ liệu đó. Không một tính năng nào đảm bảo là không có kẽ hở và tôi sẽ trình bày các cách tấn công vào dữ liệu được lưu trữ từ đó tìm ra những cách bảo mật chúng hạn chế các rủi do có thể xảy ra. Bài viết được chia làm hai bài


Bài1: Vì sao phải sử dụng tính năng này, cũng như phương thức lưu trữ thuật toán mã hoá của chúng ra sao.
Bài 2: Tấn công khai thác các thông tin từ dữ liệu được lưu trong hệ thống, tìm ra cách hạn chế tấn công.

1. Giới thiệu.

Bài viết này sẽ đưa ra cho bạn một phân tích về cơ chế bảo mật, những nguy cơ tiềm ẩn, việc tấn công và việc phòng chống từ hai cách quản lý mật khẩu trong hệ thống cho các web browers cho IE và Firefox. Bài viết này cụ thể nói về phiên bản IE 6, 7 và Firefox 1.5 và 2.0. Bài viết bao gồm các vấn đề sau:

- Các cơ chế lưu giữ mật khẩu (Password storage mechanisms): Nó có nghĩa là việc bảo vệ tài khoản người dùng và mật khẩu trong file hệ thống đã được mã hoá.
- Tấn công vào trình quản lý mật khẩu: phương pháp tấn công lấy cắp mật khẩu đã được bảo vệ
- Phân tích các rủi do bảo mật: Người dùng đôi khi không nhận ra được hết các vấn đề rủi do có thể xảy ra.
- Sử dụng: Tính năng này tăng sự tiện dụng cũng như hạn chế các vấn đề bảo mật có thể xảy đến.
- Các biện pháp đối phó: Hành động có thể được thực hiện bởi người dùng và tổ chức để hạn chế rủi do.

Internet Explorer và Firefox hiện chiếm đến 95% trong tổng số các trình duyệt đang được sử dụng. Tự động nhớ mật khẩu và quản lý mật khẩu là những tính năng được lưu trữ từ web dạng usernames và password, tính năng này bắt đầu được tích hợp để mang lại sự tiện dụng từ phiên bản IE 4 và Firefox 0.7.

Mỗi trình duyệt web đều mang đến tính năng để đem lại sự tiện dụng bằng việc nhớ các mật khẩu khó để cho việc xác thực những trang web cụ thể. Ví như bạn có thể đặt mật khẩu rất khó cho gmail của bạn và mỗi khi truy cập vào trang web: http://mail.google.com bạn sẽ không cần phải nhập tài khoản cũng như mật khẩu nữa. Cả hai trình duyệt IE và Firefox khi người dùng đăng nhập vào một trang web thì đều được hỏi là bạn có lưu lại tài khoản và mật khẩu không, nếu người dùng đồng ý nó sẽ lưu lại tài khoản và mật khẩu. Khi người dùng vào lại trang web đó thì tài khoản và mật khẩu được tự động cung cấp.

Mặc dù tính năng này đem lại sự tiện dụng cho người dùng, nhưng họ cũng cần phải được cảnh báo những mối quan tâm đến việc quản lý mật khẩu này.

2. Một trường hợp quản lý mật khẩu.

Cần thiết để quản lý mật khẩu trực tiếp là rất khó để nhớ rất nhiều mật khẩu và tài khoản cho những trang web cụ thể, khi mà bạn có rất nhiều tài khoản khác nhau cũng như mật khẩu khác nhau cho mỗi trang web. Nhưng việc bạn ghi tài khoản và mật khẩu ra một chỗ nào đó thì hoàn toàn không an toàn vì người khác có thể hai thác thông tin đó một cách dể dàng. Một người dùng có thể tạo ra những tài khoản khác nhau để tạo ra khả năng khó khăn cho việc tấn công cũng như tăng cường tính bảo mật.

Cân bằng hay một giải pháp tổng thể với user là tin tưởng một ứng dụng chuyên cung cấp tính năng này (lưu trữ được bảo mật, quá trình thực hiện nhanh chóng, và đem lại sự tin tưởng chính xác cho quá trình xác thực từng trang web cụ thể). Nhưng tính năng quản lý mật khẩu không phải sử dụng cho tất cả tình huống, tuy nhiên nó là một công nghệ tạo ra đòn bẩy, và là một lĩnh vực mới để các kẻ tấn công lợi dụng các lỗ hổng bảo mật trong các tính năng này, để đảm bảo vấn đề này yêu cầu người sử dụng máy tính cần phải được xác thực trước khi đăng nhập vào hệ thống.

Người dùng cần phải biết rằng hệ thống quản lý này bao khi được sử dụng, cần phải có sự hiểu biết những nguy cơ có thể xảy ra để phòng chống. Trong bài viết này với nội dung cách thiết kế cơ bản để bảo mật mật khẩu và tài khoản người dùng trước những tấn công, cũng như những cảnh báo các khả năng tấn công trong tương lai.

3. Trước đây

Việc sử dụng cùng tài khoản và mật khẩu cho nhiều trang web được sử dụng nhiều nhất, nhưng một vấn đề rất có khả năng xảy ra là khi kẻ tấn công khai thác được một mật khẩu và tài khoản của một trang web kém bảo mật thì toàn bộ các trang web khác cũng đồng thời bị kẻ tấn công lợi dụng. Sử dụng mật khẩu, các kỹ năng để có một mật khẩu dễ dùng nhưng khó tấn công đối với kẻ khai thác, những tiềm ẩn việc sử dụng password toàn bộ đã được nghiên cứu một cách kỹ lưỡng. Thêm vào đó Firefox có những nghiên cứu để hạn chế các khai thác có thể xảy ra đối với việc quản lý tài khoản và mật khẩu.

4. Phương thức lưu mật khẩu.

Quá trình ghi nhớ tài khoản và mật khẩu được miêu tả dưới đây. Thông tin này đã từng được sử dụng để nghiên cứu các cuộc tấn công của các hãng sản xuất và được miêu tả cụ thể dưới đây.

4.1. Lưu trữ tại local
4.1.1 Với phiên bản Internet Explorer 6 & 7

Trên Internet Explorer (phiên bản 4 đến 6) AutoComplete các thông tin từ Web được lưu trữ trong Registry và cụ thể tại:

Mã hoá usernames and passwords:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\IntelliForms\SPW

Địa chỉ trang Web
HKEY_LOCAL_MACHINE\Software\MicrosoftProtected Storage System Provider\

Mã hoá bằng symmetric keys:
HKEY_CURRENT_USER\Software\Microsoft\ Protected Storage System Provider\Data\\

Trên Internet Explorer 7, AutoComplete các thông tin từ Web như tài khoản người dùng mật khẩu hay địa chỉ của trang web đó cũng được lưu trữ trong Registry nhưng chúng được đặt tại những vị trí khac nhau.

Mã hoá Usernames and Passwords:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\IntelliForms\Storage2

Toàn bộ trong Registry chỉ được tạo ra khi người dùng save các thông tin login như tài khoản và mật khẩu từ trang web. Và chúng được cấu tạo bằng nhóm từ SavePassWords

4.1.2 Với phiên bản Firefox 1.5 and 2.0

Trên Firefox, Uniform Resource Locators (URLs) bao gồm usernames, và passwords được lưu trên file signons.txt:

Mã hoá usernames và password trong Windows Systems tại:
%userprofile%\Application Data\Mozilla\Firefox Profiles\xxxxxxxx.default\signons.txt

Tại %userprofile% là môi trường tuỳ biến trong windows và đó là home directory của mỗi tài khoản người dùng.

Mã hoá user name và password trong hệ thống Linux tại:
~/.mozilla/firefox/ xxxxxxxx.default/signons.txt

Xxxxxx là ngẫu nhiên được lựa chọn khi Firefox được cài đặt. File signons.txt được tạo ra vào thời điểm lần đầu tiên bạn save các thông tin đăng nhập từ một trang web. Từ lần sau khi quá trình đăng nhập yêu cầu Firefox sẽ tìm kiếm thông tin trên file này. Nó không liên quan tới việc file này được sử dụng cho quá trình đăng nhập cho các trang web HTTP hay HTTPs. URLs không được mã hoá bởi nó được sử dụng để kiểm tra trong quá trình đăng nhập. Khi một quá trình tự đăng nhập được thực hiện, các trang URL được so sánh với các thông tin trong file signons.txt, nếu URL đã được ghi lại thì quá trình tự động đăng nhập được thực hiện

4.2 Phương thức lưu trữ và truy cập
4.2.1 Trong Internet Explorer 6 & 7

Storage Construct: Registry
Format: Binary, stored as a pair of hex values in a REG_BINARY data type.
Encryption: TripleDES
Access: Protected Storage API (for IE 4-6); Data Protection API (for IE 7)
Requirements for Access: User logged in
Transient Storage: Symmetric keys zeroed from memory after use. [ref 9]

Trong phiên bản Internet Explorer từ 4 – 6 sử dụng Protected Storage System Provider (Pstore) để save lại các thông tin liên quan đến quá trình đăng nhập của người dùng bao gồm username và mật khẩu. Pstore được định nghĩa bởi MSDN là một chương trình ứng dụng được sử dụng để lưu lại các thông tin và đảm bảo an toàn với các thông tin đó.

Dưới đây là định nghĩa đầy đủ về nó:

"...the Protected Storage service, which is no longer considered a secure method of storing secrets. The most significant Windows application that still uses the P-store is Microsoft Internet Explorer, which stores Auto-Complete information, including names and passwords used for forms-based
authentication."


Dữ liệu được lưu trữ với PStore được mã hoá với TripleDES và lưu trữ dưới dạng số nhị phân. Một người không thể giải mã dữ liệu này khi họ truy cập trực tiếp vào registry. Tuy nhiên dữ liệu được bảo mật và có thể được truy cập một cách bình thường khi người dùng đó đăng nhập vào Windows với một tài khoản cho phép. Khi người dùng log in vào hệ thống một chương trình sẽ được hoạt động và có thể truy cập vào các nội dung và giải mã các dữ liệu lưu trữ trong PStore bằng cách sử dụng API call. Tuy nhiên một tài khoản người dùng cùng trên hệ thống Windows cũng sẽ không thể truy cập được vào dữ liệu được lưu trữ. Nhìn chung nếu bạn có user đăng nhập vào Windows thì bạn có thể khai thác được thông tin lưu trữ từ nó.

PStore không phải là một sản phẩm chỉ được sử dụng trong Internet Explorer, nó cũng là một phương pháp thường được sử dụng trong các sản phẩm của Microsoft như Outlook và MSN Explorer. Đây là một chương trình dễ bị ảnh hưởng bởi các lỗi trong thiết kế bảo mật. Rất nhiều chương trình Spyware đã phá hoại được bảo mật của PStore và dễ dàng với chương trình API để truy cập và các dữ liệu được lưu trữ trong PStore.

Internet Explorer 7 sử dụng Data Protection Application Programming Interface (DPAPI) tuy nhiên nó đáng tin cậy với các quá trình sử dụng các phần mềm tấn công bình thường thông qua API calls.

Mã hoá cho AutoComplete trong IE7 được hiển thị dưới đây.

EK - Encryption Key
RK - Record Key
CRC - Cyclical Redundancy Check
Hash - Secure Hash Algorithm (SHA)

Storing credentials:
EK: URL
RK: Hash(EncryptionKey)
C: CRC(Record Key)
V: {data}EK
Store (C, V) is indexed by RK in the Registry, destroy EK

Retrieving credentials:
EK: URL
RK: Hash(EK)
Lookup RK in Registry, if match is found corresponding V contains encrypted data;
data: {data}EK

Tuy nhiên URL cần được mã hoá một cách không cẩn thận hơn, nó được nén với Encryption Key (EK)

4.2.1.1 Internet Explorer access concerns

IE AutoComplete làm việc dưới những tài khoản người dùng cụ thể trong Windows (dựa trên các useraccount) là một biện pháp logical để có thể truy cập vào dữ liệu được mã hoá. Tuy nhiên nếu một tài khoản người dùng không được xác thực truy cập vào máy tính và có đặc quyền chỉnh sửa lại password sau đó dùng tài khoản kia để đăng nhập vào máy tính, khi đó kẻ tấn công hoàn toàn có thể truy cập vào các dữ liệu đã được mã hoá một cách bình thường. Bằng việc sử dụng các chương trình Remote từ xa như VNC…

Thêm vào đó, nhiều người sử dụng máy tính với một tài khoản đăng nhập là điều không được khuyến cáo và làm mất đi tính bảo mật được sử dụng. Với vấn đề này bạn tốt nhất không nên dùng các chương trình quản lý mật khẩu vì các thông tin của bạn hoàn toàn được truy cập vào một cách hợp pháp. Ngoài ra bạn cần có cách bảo vệ máy tính ở tầng vật lý một cách hiệu quả đó là máy tính của bạn đảm bảo không bị mất cắp, nếu bị mất cắp việc hack password trong windows là hoàn toàn có khả năng thực hiện và khi đó toàn bộ các dữ liệu của bạn trên các trang web có thể bị khai thác.

4.2.2 Trong Firefox 0.7-1.5 và 2.0

Storage Construct: Text File (signons.txt)
Format: ASCII, using Base64 encoding (except URL and fields)

Sau đây là một đoạn trong file signons.txt

URL (clear text, i.e. www.gmail.com)
Field name (in cleartext, e.g. username, email, userid, etc.)
Encrypted and Base64 encoded value of above information
Field name (i.e. password, pass, etc.)
Encrypted and Base64 encoded value of above information
...etc... (Could have many entries for one URL)
.
(Với mỗi địa chỉ trang web URL sẽ được kết thúc bằng một dấu “.”)


Encryption: TripleDES (CBC mode)
Access: Network Security Services (NSS) API
Requirements for Access: User logged in and the Master Password
Relevant files: Certificates (Signed Public Keys) stored as certN.db, Private Key Database stored as keyN.db, and Security Modules stored as secmod.db

Firefox sử dụng Network Security Service API để thực hiện mã hoá. Quản lý mật khẩu trong Firefox sử dụng Public Key Cryptography Standard (PKCS) #11 được định nghĩa là một API là một phần mềm được thiết kế cho các hãng sản xuất phần mềm hay phần cứng khác, nó cũng sử dụng PKCS#5 cho mã hoá mật khẩu. Firefox cũng có một lửa chọn sử dụng một module quản lý mật khẩu chuyên dụng khác là Federal Information Processing Standard (FIPS) 140-1. Quản lý mật khẩu được thực hiện với file keyN.db, dùng để thực hiện giải mã username và password.

NSS API, cũng không phải là vấn đề dễ xử lý, có một vài thành phần trong Firefox hay các chương trình khác có thể dễ dang truy cập vào dữ liệu chứa mật khẩu và tài khoản người dùng. Thiết lập mật khẩu bởi PK11_SetPasswordFunc, decoding base64 data (NSSBase64_DecodeBuffer) và decrypting (PK11SDR_Decrypt) cho phép chương trình truy cập vào dữ liệu chứa tài khoàn người dùng và mật khẩu.

Module bảo mật FIPS 140-1 có thể được enable trong Firefox:

Firefox 1.5 on Windows:
Tools | Options | Advanced | Security Devices | NSS Internal FIPS PKCS #11
Firefox 2.0 on Windows:
Tools | Options | Advanced | Encryption | Security Devices | NSS Internal FIPS PKCS #11

Trong bài viết tới tôi sẽ đề cập đến cách tấn công username và password được lưu trữ trong hệ thống sử dụng AutoComplete, sử dụng trong IE và Firefox

Hoàng Tuấn Đạt viết ngày 12/1/2007 (lấy thông tin tham khảo từ trang web SecurityFocus.com).

NOTE: Trên trang quantrimang.com đã có hai bài viết về vấn đề này bạn có thể tham khảo bài viết ở dưới.
[Up] [Print Copy]
  [Question]   Re: Cơ chế lưu mật khẩu của IE, Firefox 13/01/2007 03:48:03 (+0700) | #2 | 35890
[Avatar]
kenshin8x
Member

[Minus]    0    [Plus]
Joined: 29/11/2006 20:45:54
Messages: 195
Location: ĐH CNTT
Offline
[Profile] [PM]
cảm ơn vì bài viết khá hay nó giup ích cho mình rất nhiều smilie)
[Up] [Print Copy]
  [Question]   Cơ chế lưu mật khẩu của IE, Firefox 13/01/2007 17:08:43 (+0700) | #3 | 36011
LeVuHoang
HVA Friend

Joined: 08/03/2003 16:54:07
Messages: 1155
Offline
[Profile] [PM]
Bài này khá hay, đang đợi phần 2 smilie

Thanks kryptos
[Up] [Print Copy]
  [Question]   Cơ chế lưu mật khẩu của IE, Firefox 14/01/2007 02:18:51 (+0700) | #4 | 36052
[Avatar]
cs8x
Member

[Minus]    0    [Plus]
Joined: 26/06/2006 12:53:17
Messages: 98
Offline
[Profile] [PM]

kryptos wrote:
AutoComplete trong IE, Firefox (Bài viết 1)


Đã rất nhiều người sử dụng tính năng nhớ mật khẩu khi đăng nhập vào các trang web: vào hòm thư… Nhưng cơ chế lưu trữ của chúng ra sao, hệ thống sẽ mã hoá dữ liệu đó như thế nào, cũng như việc hệ thống sử dụng cách nào để truy cập vào các dữ liệu đó. Không một tính năng nào đảm bảo là không có kẽ hở và tôi sẽ trình bày các cách tấn công vào dữ liệu được lưu trữ từ đó tìm ra những cách bảo mật chúng hạn chế các rủi do có thể xảy ra. Bài viết được chia làm hai bài


Bài1: Vì sao phải sử dụng tính năng này, cũng như phương thức lưu trữ thuật toán mã hoá của chúng ra sao.
Bài 2: Tấn công khai thác các thông tin từ dữ liệu được lưu trong hệ thống, tìm ra cách hạn chế tấn công.

1. Giới thiệu.

Bài viết này sẽ đưa ra cho bạn một phân tích về cơ chế bảo mật, những nguy cơ tiềm ẩn, việc tấn công và việc phòng chống từ hai cách quản lý mật khẩu trong hệ thống cho các web browers cho IE và Firefox. Bài viết này cụ thể nói về phiên bản IE 6, 7 và Firefox 1.5 và 2.0. Bài viết bao gồm các vấn đề sau:

- Các cơ chế lưu giữ mật khẩu (Password storage mechanisms): Nó có nghĩa là việc bảo vệ tài khoản người dùng và mật khẩu trong file hệ thống đã được mã hoá.
- Tấn công vào trình quản lý mật khẩu: phương pháp tấn công lấy cắp mật khẩu đã được bảo vệ
- Phân tích các rủi do bảo mật: Người dùng đôi khi không nhận ra được hết các vấn đề rủi do có thể xảy ra.
- Sử dụng: Tính năng này tăng sự tiện dụng cũng như hạn chế các vấn đề bảo mật có thể xảy đến.
- Các biện pháp đối phó: Hành động có thể được thực hiện bởi người dùng và tổ chức để hạn chế rủi do.

Internet Explorer và Firefox hiện chiếm đến 95% trong tổng số các trình duyệt đang được sử dụng. Tự động nhớ mật khẩu và quản lý mật khẩu là những tính năng được lưu trữ từ web dạng usernames và password, tính năng này bắt đầu được tích hợp để mang lại sự tiện dụng từ phiên bản IE 4 và Firefox 0.7.

Mỗi trình duyệt web đều mang đến tính năng để đem lại sự tiện dụng bằng việc nhớ các mật khẩu khó để cho việc xác thực những trang web cụ thể. Ví như bạn có thể đặt mật khẩu rất khó cho gmail của bạn và mỗi khi truy cập vào trang web: http://mail.google.com bạn sẽ không cần phải nhập tài khoản cũng như mật khẩu nữa. Cả hai trình duyệt IE và Firefox khi người dùng đăng nhập vào một trang web thì đều được hỏi là bạn có lưu lại tài khoản và mật khẩu không, nếu người dùng đồng ý nó sẽ lưu lại tài khoản và mật khẩu. Khi người dùng vào lại trang web đó thì tài khoản và mật khẩu được tự động cung cấp.

Mặc dù tính năng này đem lại sự tiện dụng cho người dùng, nhưng họ cũng cần phải được cảnh báo những mối quan tâm đến việc quản lý mật khẩu này.

2. Một trường hợp quản lý mật khẩu.

Cần thiết để quản lý mật khẩu trực tiếp là rất khó để nhớ rất nhiều mật khẩu và tài khoản cho những trang web cụ thể, khi mà bạn có rất nhiều tài khoản khác nhau cũng như mật khẩu khác nhau cho mỗi trang web. Nhưng việc bạn ghi tài khoản và mật khẩu ra một chỗ nào đó thì hoàn toàn không an toàn vì người khác có thể hai thác thông tin đó một cách dể dàng. Một người dùng có thể tạo ra những tài khoản khác nhau để tạo ra khả năng khó khăn cho việc tấn công cũng như tăng cường tính bảo mật.

Cân bằng hay một giải pháp tổng thể với user là tin tưởng một ứng dụng chuyên cung cấp tính năng này (lưu trữ được bảo mật, quá trình thực hiện nhanh chóng, và đem lại sự tin tưởng chính xác cho quá trình xác thực từng trang web cụ thể). Nhưng tính năng quản lý mật khẩu không phải sử dụng cho tất cả tình huống, tuy nhiên nó là một công nghệ tạo ra đòn bẩy, và là một lĩnh vực mới để các kẻ tấn công lợi dụng các lỗ hổng bảo mật trong các tính năng này, để đảm bảo vấn đề này yêu cầu người sử dụng máy tính cần phải được xác thực trước khi đăng nhập vào hệ thống.

Người dùng cần phải biết rằng hệ thống quản lý này bao khi được sử dụng, cần phải có sự hiểu biết những nguy cơ có thể xảy ra để phòng chống. Trong bài viết này với nội dung cách thiết kế cơ bản để bảo mật mật khẩu và tài khoản người dùng trước những tấn công, cũng như những cảnh báo các khả năng tấn công trong tương lai.

3. Trước đây

Việc sử dụng cùng tài khoản và mật khẩu cho nhiều trang web được sử dụng nhiều nhất, nhưng một vấn đề rất có khả năng xảy ra là khi kẻ tấn công khai thác được một mật khẩu và tài khoản của một trang web kém bảo mật thì toàn bộ các trang web khác cũng đồng thời bị kẻ tấn công lợi dụng. Sử dụng mật khẩu, các kỹ năng để có một mật khẩu dễ dùng nhưng khó tấn công đối với kẻ khai thác, những tiềm ẩn việc sử dụng password toàn bộ đã được nghiên cứu một cách kỹ lưỡng. Thêm vào đó Firefox có những nghiên cứu để hạn chế các khai thác có thể xảy ra đối với việc quản lý tài khoản và mật khẩu.

4. Phương thức lưu mật khẩu.

Quá trình ghi nhớ tài khoản và mật khẩu được miêu tả dưới đây. Thông tin này đã từng được sử dụng để nghiên cứu các cuộc tấn công của các hãng sản xuất và được miêu tả cụ thể dưới đây.

4.1. Lưu trữ tại local
4.1.1 Với phiên bản Internet Explorer 6 & 7

Trên Internet Explorer (phiên bản 4 đến 6) AutoComplete các thông tin từ Web được lưu trữ trong Registry và cụ thể tại:

Mã hoá usernames and passwords:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\IntelliForms\SPW

Địa chỉ trang Web
HKEY_LOCAL_MACHINE\Software\MicrosoftProtected Storage System Provider\

Mã hoá bằng symmetric keys:
HKEY_CURRENT_USER\Software\Microsoft\ Protected Storage System Provider\Data\\

Trên Internet Explorer 7, AutoComplete các thông tin từ Web như tài khoản người dùng mật khẩu hay địa chỉ của trang web đó cũng được lưu trữ trong Registry nhưng chúng được đặt tại những vị trí khac nhau.

Mã hoá Usernames and Passwords:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\IntelliForms\Storage2

Toàn bộ trong Registry chỉ được tạo ra khi người dùng save các thông tin login như tài khoản và mật khẩu từ trang web. Và chúng được cấu tạo bằng nhóm từ SavePassWords

4.1.2 Với phiên bản Firefox 1.5 and 2.0

Trên Firefox, Uniform Resource Locators (URLs) bao gồm usernames, và passwords được lưu trên file signons.txt:

Mã hoá usernames và password trong Windows Systems tại:
%userprofile%\Application Data\Mozilla\Firefox Profiles\xxxxxxxx.default\signons.txt

Tại %userprofile% là môi trường tuỳ biến trong windows và đó là home directory của mỗi tài khoản người dùng.

Mã hoá user name và password trong hệ thống Linux tại:
~/.mozilla/firefox/ xxxxxxxx.default/signons.txt

Xxxxxx là ngẫu nhiên được lựa chọn khi Firefox được cài đặt. File signons.txt được tạo ra vào thời điểm lần đầu tiên bạn save các thông tin đăng nhập từ một trang web. Từ lần sau khi quá trình đăng nhập yêu cầu Firefox sẽ tìm kiếm thông tin trên file này. Nó không liên quan tới việc file này được sử dụng cho quá trình đăng nhập cho các trang web HTTP hay HTTPs. URLs không được mã hoá bởi nó được sử dụng để kiểm tra trong quá trình đăng nhập. Khi một quá trình tự đăng nhập được thực hiện, các trang URL được so sánh với các thông tin trong file signons.txt, nếu URL đã được ghi lại thì quá trình tự động đăng nhập được thực hiện

4.2 Phương thức lưu trữ và truy cập
4.2.1 Trong Internet Explorer 6 & 7

Storage Construct: Registry
Format: Binary, stored as a pair of hex values in a REG_BINARY data type.
Encryption: TripleDES
Access: Protected Storage API (for IE 4-6); Data Protection API (for IE 7)
Requirements for Access: User logged in
Transient Storage: Symmetric keys zeroed from memory after use. [ref 9]

Trong phiên bản Internet Explorer từ 4 – 6 sử dụng Protected Storage System Provider (Pstore) để save lại các thông tin liên quan đến quá trình đăng nhập của người dùng bao gồm username và mật khẩu. Pstore được định nghĩa bởi MSDN là một chương trình ứng dụng được sử dụng để lưu lại các thông tin và đảm bảo an toàn với các thông tin đó.

Dưới đây là định nghĩa đầy đủ về nó:

"...the Protected Storage service, which is no longer considered a secure method of storing secrets. The most significant Windows application that still uses the P-store is Microsoft Internet Explorer, which stores Auto-Complete information, including names and passwords used for forms-based
authentication."


Dữ liệu được lưu trữ với PStore được mã hoá với TripleDES và lưu trữ dưới dạng số nhị phân. Một người không thể giải mã dữ liệu này khi họ truy cập trực tiếp vào registry. Tuy nhiên dữ liệu được bảo mật và có thể được truy cập một cách bình thường khi người dùng đó đăng nhập vào Windows với một tài khoản cho phép. Khi người dùng log in vào hệ thống một chương trình sẽ được hoạt động và có thể truy cập vào các nội dung và giải mã các dữ liệu lưu trữ trong PStore bằng cách sử dụng API call. Tuy nhiên một tài khoản người dùng cùng trên hệ thống Windows cũng sẽ không thể truy cập được vào dữ liệu được lưu trữ. Nhìn chung nếu bạn có user đăng nhập vào Windows thì bạn có thể khai thác được thông tin lưu trữ từ nó.

PStore không phải là một sản phẩm chỉ được sử dụng trong Internet Explorer, nó cũng là một phương pháp thường được sử dụng trong các sản phẩm của Microsoft như Outlook và MSN Explorer. Đây là một chương trình dễ bị ảnh hưởng bởi các lỗi trong thiết kế bảo mật. Rất nhiều chương trình Spyware đã phá hoại được bảo mật của PStore và dễ dàng với chương trình API để truy cập và các dữ liệu được lưu trữ trong PStore.

Internet Explorer 7 sử dụng Data Protection Application Programming Interface (DPAPI) tuy nhiên nó đáng tin cậy với các quá trình sử dụng các phần mềm tấn công bình thường thông qua API calls.

Mã hoá cho AutoComplete trong IE7 được hiển thị dưới đây.

EK - Encryption Key
RK - Record Key
CRC - Cyclical Redundancy Check
Hash - Secure Hash Algorithm (SHA)

Storing credentials:
EK: URL
RK: Hash(EncryptionKey)
C: CRC(Record Key)
V: {data}EK
Store (C, V) is indexed by RK in the Registry, destroy EK

Retrieving credentials:
EK: URL
RK: Hash(EK)
Lookup RK in Registry, if match is found corresponding V contains encrypted data;
data: {data}EK

Tuy nhiên URL cần được mã hoá một cách không cẩn thận hơn, nó được nén với Encryption Key (EK)

4.2.1.1 Internet Explorer access concerns

IE AutoComplete làm việc dưới những tài khoản người dùng cụ thể trong Windows (dựa trên các useraccount) là một biện pháp logical để có thể truy cập vào dữ liệu được mã hoá. Tuy nhiên nếu một tài khoản người dùng không được xác thực truy cập vào máy tính và có đặc quyền chỉnh sửa lại password sau đó dùng tài khoản kia để đăng nhập vào máy tính, khi đó kẻ tấn công hoàn toàn có thể truy cập vào các dữ liệu đã được mã hoá một cách bình thường. Bằng việc sử dụng các chương trình Remote từ xa như VNC…

Thêm vào đó, nhiều người sử dụng máy tính với một tài khoản đăng nhập là điều không được khuyến cáo và làm mất đi tính bảo mật được sử dụng. Với vấn đề này bạn tốt nhất không nên dùng các chương trình quản lý mật khẩu vì các thông tin của bạn hoàn toàn được truy cập vào một cách hợp pháp. Ngoài ra bạn cần có cách bảo vệ máy tính ở tầng vật lý một cách hiệu quả đó là máy tính của bạn đảm bảo không bị mất cắp, nếu bị mất cắp việc hack password trong windows là hoàn toàn có khả năng thực hiện và khi đó toàn bộ các dữ liệu của bạn trên các trang web có thể bị khai thác.

4.2.2 Trong Firefox 0.7-1.5 và 2.0

Storage Construct: Text File (signons.txt)
Format: ASCII, using Base64 encoding (except URL and fields)

Sau đây là một đoạn trong file signons.txt

URL (clear text, i.e. www.gmail.com)
Field name (in cleartext, e.g. username, email, userid, etc.)
Encrypted and Base64 encoded value of above information
Field name (i.e. password, pass, etc.)
Encrypted and Base64 encoded value of above information
...etc... (Could have many entries for one URL)
.
(Với mỗi địa chỉ trang web URL sẽ được kết thúc bằng một dấu “.”)


Encryption: TripleDES (CBC mode)
Access: Network Security Services (NSS) API
Requirements for Access: User logged in and the Master Password
Relevant files: Certificates (Signed Public Keys) stored as certN.db, Private Key Database stored as keyN.db, and Security Modules stored as secmod.db

Firefox sử dụng Network Security Service API để thực hiện mã hoá. Quản lý mật khẩu trong Firefox sử dụng Public Key Cryptography Standard (PKCS) #11 được định nghĩa là một API là một phần mềm được thiết kế cho các hãng sản xuất phần mềm hay phần cứng khác, nó cũng sử dụng PKCS#5 cho mã hoá mật khẩu. Firefox cũng có một lửa chọn sử dụng một module quản lý mật khẩu chuyên dụng khác là Federal Information Processing Standard (FIPS) 140-1. Quản lý mật khẩu được thực hiện với file keyN.db, dùng để thực hiện giải mã username và password.

NSS API, cũng không phải là vấn đề dễ xử lý, có một vài thành phần trong Firefox hay các chương trình khác có thể dễ dang truy cập vào dữ liệu chứa mật khẩu và tài khoản người dùng. Thiết lập mật khẩu bởi PK11_SetPasswordFunc, decoding base64 data (NSSBase64_DecodeBuffer) và decrypting (PK11SDR_Decrypt) cho phép chương trình truy cập vào dữ liệu chứa tài khoàn người dùng và mật khẩu.

Module bảo mật FIPS 140-1 có thể được enable trong Firefox:

Firefox 1.5 on Windows:
Tools | Options | Advanced | Security Devices | NSS Internal FIPS PKCS #11
Firefox 2.0 on Windows:
Tools | Options | Advanced | Encryption | Security Devices | NSS Internal FIPS PKCS #11

Trong bài viết tới tôi sẽ đề cập đến cách tấn công username và password được lưu trữ trong hệ thống sử dụng AutoComplete, sử dụng trong IE và Firefox 


Bài viết khá hay, tuy nhiên bạn nên ghi rõ nguồn để tôn trọng quyến tác giả.

Mọi người muốn tham khảo đầy đủ 2 phần nguyên bản thì vào đây:

Phần 1: http://www.quantrimang.com/view.asp?Cat_ID=9&Cat_Sub_ID=8&news_id=34506

Phần 2: http://www.quantrimang.com/view.asp?Cat_ID=9&Cat_Sub_ID=9&news_id=34550

[Up] [Print Copy]
  [Question]   Re: Cơ chế lưu mật khẩu của IE, Firefox 15/01/2007 22:40:41 (+0700) | #5 | 36422
[Avatar]
kryptos
Member

[Minus]    0    [Plus]
Joined: 12/09/2006 10:42:48
Messages: 24
Offline
[Profile] [PM] [WWW]
Mình định dịch xong phần II rồi ghi là dịch từ đâu luôn (lưu ý khi mình dịch lấy cả các kiến thức cũng như các từ ngữ dễ hiểu để thể hiện - Không phải nguyên bản 100%) và trước khi dịch mình cũng không biết là đã có bài viết về vấn đề này ở trang web trước (quantrimang.com) mình dịch part đầu tiên vào hôm 12/1/2007. lấy nguồn từ SecurityFocus.com trang web chuyên về bảo mật của Symantec.

Nếu các bạn nghĩ là sao chép các bạn có thể kiểm tra cách hành văn cũng như một số kiến thức khác.

Lần sau mình sẽ chú ý để tên bản quyền tác giả, còn những bài mình post lên đây hoàn toàn do kiến thức của mình, hoặc mình tự dịch và ko bao giờ post lại trang web của việt nam đã đăng.

Có lẽ part II mọi người có thể tự tham khảo từ trang securityfocus hay từ đường link trên đến trang quantrimang.com
[Up] [Print Copy]
  [Question]   Cơ chế lưu mật khẩu của IE, Firefox 06/09/2008 15:01:36 (+0700) | #6 | 150017
tinhhoasimtim
Member

[Minus]    0    [Plus]
Joined: 25/06/2008 10:34:11
Messages: 23
Offline
[Profile] [PM]
FireFox ngày càng có nhiều người sử dụng
và Google Chrome ra đời chắc sẽ kéo được nhiều người dùng

Một phát hiện của tôi khi cài Google Chrome là nó có thể import tất cả dữ liệu trong FireFox, kể cả password, mà thường là người dùng lại ít cài đặt master password. Trong khi đó thực tế là rất nhiều người dùng sử dụng tính năng lưu mật khẩu của trình duyệt FireFox

Liệu máy tính chúng ta có bị 1 virus nào đó đọc được các thông tin về user và pass được lưu trong FireFox(giống như Google Chrome đã làm khi import lúc cài đặt) rồi gửi cho tác giả. Nếu có thì nguy cơ này có cao không?
[Up] [Print Copy]
  [Question]   Re: Cơ chế lưu mật khẩu của IE, Firefox 07/09/2008 00:49:41 (+0700) | #7 | 150049
[Avatar]
nhuhoang
Elite Member

[Minus]    0    [Plus]
Joined: 27/06/2007 00:49:10
Messages: 111
Location: /dev/null
Offline
[Profile] [PM] [WWW]
Mình nghĩ là hoàn toàn có thể, Firefox dùng PKI để mã hóa dữ liệu thì attacker cũng có thể chôm cả signons.txt lẫn private key để decrypt password.

Và lời cảnh báo là một khi bạn đã nhiễm virus, worm, trojan,... thì máy bạn "chả còn gì để mất nữa" smilie
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|