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ông tin về các địa chỉ và tài liệu hữu ích Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật  XML
  [Question]   Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 13/07/2008 23:52:43 (+0700) | #1 | 141423
HoangTuanSu
Member

[Minus]    0    [Plus]
Joined: 07/07/2008 20:07:35
Messages: 12
Offline
[Profile] [PM]
Mọi người có thể giúp mình một vài trang web có chứa các file mã nguồn mẫu (C, C++ ...) có các lỗ hổng bảo mật được ko? Mấy cái tool của anh TQN giới thiệu (trừ PCLint - cấu hình vẫn chưa được), mình đã down về cài, có chạy vài file tự tạo để kiểm tra, nhưng không biết tìm ở đâu mấy cái mã nguồn mẫu có các defect để test thử. Mong mọi người giúp đỡ, mình xin cám ơn!
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 14/07/2008 00:02:21 (+0700) | #2 | 141426
lamer
Elite Member

[Minus]    0    [Plus]
Joined: 26/02/2008 13:28:49
Messages: 215
Offline
[Profile] [PM]
Mình đóng góp 1 mẫu đơn giản:

Code:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
   printf("Tham so thu nhat cua ban la:\n");
   printf(argv[1]);
}


Chương trình trên có vài lỗi. Bạn thử tìm xem sao.
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 14/07/2008 01:38:32 (+0700) | #3 | 141434
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]
Sửa lại mẫu của anh lamer tí:

Code:
int main(int argv,char **argc) {
        char buf[256];
        strcpy(buf,argc[1]);
}
http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 14/07/2008 06:04:37 (+0700) | #4 | 141454
HoangTuanSu
Member

[Minus]    0    [Plus]
Joined: 07/07/2008 20:07:35
Messages: 12
Offline
[Profile] [PM]
Híc, hai người có lẽ là vui tính, nên chắc ... đang đùa với em thì phải smilie Em có đọc vài cuốn cơ bản, nên cũng có biết sơ qua vài defect (kể cả cái lỗi gây ra tình trạng buffer overflow trong ví dụ của 2 người smilie ). Em cũng không đến nối mù (còn sáng tỏ như mức nào thì chưa test được smilie), cũng không có ý lên diễn đàn để khoe kiến thức đâu smilie Mục đích của em khi tạo thread này là:

- Quan trọng nhất: đáp ứng yêu cầu của ông thầy hướng dẫn luận văn smilie

- Thứ 2 nữa, là để xem xem mấy cái lỗ hổng phần mềm trong thực tế nó như thế nào so với trong lý thuyết (cái lỗi trong ví dụ 2 người, thằng gà như em chắc chắn sẽ nghĩ rằng: CHỈ LÀ VÍ DỤ vì dễ gì các chuyên gia mắc cái lỗi đó -> ko hình dung được trong thực tế, các lỗ hổng đó xuất hiện như thế nào)

- Thứ 3 nữa, là để test các phần mềm scan code, tìm hiểu cơ chế hoạt động của nó và cuối cùng là viết một cái plugin tương tự như cái tool PREFast trong VS 2005 Team Suite ạ (miễn phí ;smilie )

google -> filetype:cpp defect OR security OR abcxyz gì đó, nhưng tóm lại vẫn chưa có được một hình dung rõ rõ về các lỗi trong phần mềm lớn. Ví dụ: Firefox :-" (Linux thì em đang cố gắng ... nằm mơ được là người phát hiện ra defect ạ smilie )

Mình xem trong một diễn đàn, có một mục của anh w_hat nói về các lỗi tương tự. Mọi người xem qua cho vui :-"
http://www.thuvientinhoc.com/forums/index.php?showtopic=29691

Mong mọi người giúp đỡ. Thanks tiếp smilie)
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 14/07/2008 07:30:56 (+0700) | #5 | 141464
lamer
Elite Member

[Minus]    0    [Plus]
Joined: 26/02/2008 13:28:49
Messages: 215
Offline
[Profile] [PM]
Bạn nghĩ các lỗi này sẽ không bao giờ gặp?

wuftpd mắc phải lỗi tương tự trong ví dụ đầu tiên của mình.

hot step mắc phải lỗi tương tự trong ví dụ đầu tiên của mình.

bkav pro mắc phải lỗi tương tự trong ví dụ thứ hai của mrro.

Và cả tỷ trường hợp căn bản khác nữa. Tất cả đều bắt đầu từ viên gạch đầu tiên mà bạn.

À, mà lỗi trong ví dụ của mình không phải là tràn bộ đệm smilie.

Nếu bạn muốn test thì kiếm source của wuftpd về để scan. Nếu mình nhớ không lầm thì phiên bản 2.6.0 là phiên bản có lỗi.
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 14/07/2008 08:01:12 (+0700) | #6 | 141471
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]
Àh chê đơn giản àh, thế thì lên SourceForge.NET hoặc Google Code mà tìm. Có cả triệu phần mềm trên đó, thằng nào cũng có thể có lỗi. Có thể dùng http://www.koders.com/ để search.

Còn muốn *hấp dẫn hơn* thì lấy source code của những phần mềm popular như Firefox, Linux kernel về mà tìm.

Có một cách nữa là lên Milkw0rm hoặc CVE, dò tìm những exploit hay advisory có liên quan đến những phần mềm open source.

Phrack số mới nhất cũng có một bài phân tích lỗi của SAMBA WINS: http://www.phrack.org/issues.html?issue=65&id=12#article

--m



http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 14/07/2008 12:51:32 (+0700) | #7 | 141508
HoangTuanSu
Member

[Minus]    0    [Plus]
Joined: 07/07/2008 20:07:35
Messages: 12
Offline
[Profile] [PM]
Sặc, mình đâu có ý chê đơn giản đâu mrro smilie Mình chỉ muốn nói rõ cái mục đích của mình khi lập thread này thôi smilie Những lỗi đó, ai cũng đều mắc phải, nhưng khổ nỗi mấy ku Gà như mình chưa biết gì, nên tự hỏi: "Lỗi đó nó có cái quái gì đâu mà mấy tay chuyên gia lại mắc nhỉ??? Chắc thằng cha tác giả quyển sách đưa vào ví dụ cho có thôi mà". Do đó, mình muốn tìm xem có tài liệu, trang web nào nó có đề cập đến những exploit này để học hỏi đó mà smilie.

Cám ơn hai người đã giúp đỡ nhiệt tình, mình lại có thêm cái task mới nữa rồi smilie

- coi mã nguồn ku wuftpd (dù đến giờ cũng chẳng biết mặt mũi thằng wuftdp nó là con trai hay con gái nữa smilie) )

- ngâm cứu mấy cái trang của mrro


À, mà lỗi trong ví dụ của mình không phải là tràn bộ đệm .
 

Tại hạ xin được nghiêng mình nghe các hạ chỉ giáo! smilie


Còn muốn *hấp dẫn hơn* thì lấy source code của những phần mềm popular như Firefox, Linux kernel về mà tìm.
 

Firefox thì có khi mình còn nghĩ tới, chứ Linux thì ^smilie^, đang muốn mơ nè bạn ơi smilie

PS: tối qua tìm trong thằng Bkav Home đến độ đỏ mắt mà ko thấy cái lỗi gì ráo, té ra là trong Pro smilie.

Còn một điều nữa mình mong mọi người giúp với, đang gặp rắc rối. Chẳng là mấy cái tool anh TQN đưa, hoặc đa số mình search đều scan file thực thi (trừ thằng DevPartner thì mình thấy có sáng sủa chút chút, nhưng nếu chỉ có một mình nó thì thông tin thu được nghèo nàn quá smilie ), mình chưa thấy tool nào scan trực tiếp source code cả (ko nói đến PREFast nha), nên ko biết có ai có cái nào thì share mình với. Cảm ơn trước :-"
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 15/07/2008 05:26:27 (+0700) | #8 | 141601
mybb
Elite Member

[Minus]    0    [Plus]
Joined: 24/03/2003 09:41:17
Messages: 62
Offline
[Profile] [PM]

lamer wrote:

Và cả tỷ trường hợp căn bản khác nữa. Tất cả đều bắt đầu từ viên gạch đầu tiên mà bạn.
 


Thích câu này nhất nà smilie

HoangTuanSu wrote:


Tại hạ xin được nghiêng mình nghe các hạ chỉ giáo!
 


Ủa, mình tưởng cái lỗi này "gà gà" cũng thấy rồi chứ? smilie (theo lời của bạn)
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 15/07/2008 05:32:24 (+0700) | #9 | 141603
HoangTuanSu
Member

[Minus]    0    [Plus]
Joined: 07/07/2008 20:07:35
Messages: 12
Offline
[Profile] [PM]
Mình đâu có nói là lỗi "gà gà" nào mình cũng thấy đâu nhỉ? smilie)

PS: thấy có người reply, tưởng là thêm một thông tin nữa, té ra chỉ có bắt bẻ smilie Rehtom bác thật smilie
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 15/07/2008 05:41:49 (+0700) | #10 | 141604
[Avatar]
4hfoo
Elite Member

[Minus]    0    [Plus]
Joined: 29/01/2007 01:50:20
Messages: 115
Offline
[Profile] [PM]

HoangTuanSu wrote:

Tại hạ xin được nghiêng mình nghe các hạ chỉ giáo!
 


Cái mẫu đầu tiên lỗi là format string.
Bạn tìm hiểu xong buffer overflow rồi sau đó chuyển sang format string cho nó đủ bộ smilie

Thân
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 15/07/2008 07:35:54 (+0700) | #11 | 141621
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
Còn 1 cách để tìm hiểu về exploit mà tui đang thường dùng là:
1. Turn on AutoUpdate của Windows
2. Sau khi install 1 update nào đó của Windows, nếu thích thú về lỗi security của update đó, search trên mạng các mô tả về security, exploit của update đó.
3. Get PDB symbols cho các dll, sys hay exe trước và sau update, dùng Symchk trong WinDbg Tools. File sau khi update (còn gọi là Patched) nằm ở chổ cũ, vd System32, file trước khi update (Pre-Patched) thì nằm trong Windows\xxx gì đó\KBxxx (để Windows uninstall update). Tui thường xóa đi các thư mục này sau khi đã copy lại các file muốn xem, rồi vào Add/Remote panel xóa luôn.
4. IDA 2 file đó, apply PDB symbol đã lấy về.
5. Dùng các tool/plugin compare như BinDiff, PatchDiff2, EBDS... để compare hai IDA compare, tìm ra chổ MS coder đã đổi code.
6. Tái tạo lại source C/C++ ban đầu, bằng tay hay HexRays.
Đến đây ta sẽ hiểu rõ hơn về bug của update đó. Chứ đọc chay mô tả bug trên mạng không hiểu đâu.

Trong đề tài của cậu mà đưa được cái này vào thì sẽ có giá trị hơn đó. Từ không source -> pesudo source -> bug.
PS: À, nhớ chọn cái patch nào nho nhỏ thôi, chứ chọn patch mà gồm 1 đống dll thiệt bự cỡ 500 KB trở lên thì tìm ra cũng mờ mắt luôn đó.
Đọc ASM code không hiểu được nữa thì code 1 program nho nhỏ, gọi chính dll đó. Cái Pre-Patched dll có thể copy vào thư mục của app luôn, khi run nó sẽ run code trong prepatched dll, còn không copy thì sẽ run code trong patched dll (Có nhiều cách để chỉ run prepatched dll khác). Dùng các debugger như OllyDbg, WinDbg, IDA... để debug.
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 15/07/2008 10:43:23 (+0700) | #12 | 141639
mybb
Elite Member

[Minus]    0    [Plus]
Joined: 24/03/2003 09:41:17
Messages: 62
Offline
[Profile] [PM]
Chà, HoangTuanSu hiểu sai ý mình rồi, không phải là mình bắt bẻ gì bạn đâu.

Vì mình thấy khi anh lamer và mrro đưa ra 2 ví dụ, bạn cho rằng là quá dễ, đang "đùa" bạn chứ trong các sản phẩm do các "chuyên gia" làm thì làm sao mà mắc những lỗi đó được. Và trong bài trả lời cho bạn, anh lamer đã đưa ra cả một tá các dẫn chứng nhưng có vẻ như bản vẫn chưa chịu nên mình mới hỏi thế thôi.

Hơn nữa, nếu bạn cho rằng cái ví dụ của "2 người" là đang đùa bạn thì mình nghĩ hẳn bạn đã biết nó ra sao rồi, sao lại hỏi lại thế?

Cuối cùng, mình cũng chỉ muốn nhắc lại rằng, tất cả cũng đều bắt đầu từ những viên gạch như thế đó bạn à. Nếu bạn không tin, thử lấy cái DVL về mở ra xem bạn có tận dụng được những lỗi trong đó không, toàn là những ví dụ như trên cả đấy bạn ạ.

Chúc bạn thành công với luận văn của mình.
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 15/07/2008 13:50:20 (+0700) | #13 | 141656
HoangTuanSu
Member

[Minus]    0    [Plus]
Joined: 07/07/2008 20:07:35
Messages: 12
Offline
[Profile] [PM]
smilie Thanks mybb smilie

Tất nhiên khi học, những cái ví dụ đó là quá đơn giản, nên tâm lý những người mới học sẽ thấy đó chẳng qua là ví dụ minh họa, chứ đâu có nghĩ là các lập trình viên chuyên nghiệp cũng mắc lỗi như thế. Chẳng qua là, mình muốn coi coi họ mắc lỗi như thế nào, chứ không phải muốn biết họ mắc lỗi gì - vì mình biết là quanh đi quẩn lại thì cũng nằm trong mấy cái lỗi cơ bản. (đúng không ta? :-")

Ý mình không chịu là ở chỗ, mình ko hiểu 2 bạn kia đưa ra 2 ví dụ là có ý gì mà thôi! Tại mục đích của mình là ... kiếm chác vài cái tool, dụ dỗ vài bạn hé lộ chút bí quyết để detect các phần mềm, chôm chỉa vài mánh khóe để bỏ vào cái luận văn smilie (Giờ thì biết rồi, 2 người kia khỏi phải comment hay confirm gì đâu :-" )

Híc, DVL smilie Mấy cái đơn giản mình còn chưa mò được, huồng hồ là cái DVL (mình không rành về Linux lắm đâu smilie )

2 lamer: mình đã tìm được cái source có chứa defect của cái wuftpd, có điều nó chạy trên linux, nên mình chưa thử.

Mình thấy anh TQN nói đúng cái tình trạng hiện giờ của mình, vào MilkwoRm gì đó, đọc ko hiểu chút gì cả. Em sẽ thử làm theo cách của anh xem sao smilie

Thanks mọi người nhiều lắm :">
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 16/07/2008 00:48:49 (+0700) | #14 | 141699
[Avatar]
Look2Me
Member

[Minus]    0    [Plus]
Joined: 26/07/2006 23:30:57
Messages: 235
Location: Tủ quần nào
Offline
[Profile] [PM]

TQN wrote:
Còn 1 cách để tìm hiểu về exploit mà tui đang thường dùng là:
1. Turn on AutoUpdate của Windows
2. Sau khi install 1 update nào đó của Windows, nếu thích thú về lỗi security của update đó, search trên mạng các mô tả về security, exploit của update đó.
3. Get PDB symbols cho các dll, sys hay exe trước và sau update, dùng Symchk trong WinDbg Tools. File sau khi update (còn gọi là Patched) nằm ở chổ cũ, vd System32, file trước khi update (Pre-Patched) thì nằm trong Windows\xxx gì đó\KBxxx (để Windows uninstall update). Tui thường xóa đi các thư mục này sau khi đã copy lại các file muốn xem, rồi vào Add/Remote panel xóa luôn.
4. IDA 2 file đó, apply PDB symbol đã lấy về.
5. Dùng các tool/plugin compare như BinDiff, PatchDiff2, EBDS... để compare hai IDA compare, tìm ra chổ MS coder đã đổi code.
6. Tái tạo lại source C/C++ ban đầu, bằng tay hay HexRays.
Đến đây ta sẽ hiểu rõ hơn về bug của update đó. Chứ đọc chay mô tả bug trên mạng không hiểu đâu.

Trong đề tài của cậu mà đưa được cái này vào thì sẽ có giá trị hơn đó. Từ không source -> pesudo source -> bug.
PS: À, nhớ chọn cái patch nào nho nhỏ thôi, chứ chọn patch mà gồm 1 đống dll thiệt bự cỡ 500 KB trở lên thì tìm ra cũng mờ mắt luôn đó.
Đọc ASM code không hiểu được nữa thì code 1 program nho nhỏ, gọi chính dll đó. Cái Pre-Patched dll có thể copy vào thư mục của app luôn, khi run nó sẽ run code trong prepatched dll, còn không copy thì sẽ run code trong patched dll (Có nhiều cách để chỉ run prepatched dll khác). Dùng các debugger như OllyDbg, WinDbg, IDA... để debug.
 

Hi TQN!
Quả thật không phải lúc nào đọc mấy cái advisory cũng ra được do đó con đường này là một hướng tất yếu phải đi. Mình cũng đã từng theo hướng của bạn nhưng tiếc là không thành công lắm. T_T
Để lần này thử cái PatchDifff xem như thế nào.
Mục 3 của bạn cũng rất có ích với tôi . Trước mình toàn phải cài một bản windows sạch rồi cho update lên. Hơi mất công.
Không biếc TQN đã làm được nhiều lỗi theo cách như thế này chưa vậy?
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 16/07/2008 02:21:27 (+0700) | #15 | 141719
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
Rảnh rỗi thì xem vài 3 cái chơi thôi, chứ không có phát hiện mới hay công bố gì cả. Chỉ chọn mấy cái dll nho nhỏ để analyze thôi.
PatchDiff2 xài rất tốt. Còn BinDiff thì tui không thích lắm. EDBS thì có bug, tui đã fix vài cái, build lại, gởi cho author rồi. Nó chỉ cảm ơn và nói là unsupport nữa. Nhìn cái đống code Python của nó thấy lùng bùng luôn.
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 16/07/2008 05:35:02 (+0700) | #16 | 141755
[Avatar]
Look2Me
Member

[Minus]    0    [Plus]
Joined: 26/07/2006 23:30:57
Messages: 235
Location: Tủ quần nào
Offline
[Profile] [PM]
Có lẽ đó là nguyên nhân thất bại của mình smilie(
Tiện đây hỏi TQN, lamer và các bạn khác là quy trình, hay các bước mà các bạn tìm là lỗi của một phần mềm mới là như thế nào.
Mong được học hỏi.
PS: Có ai nghiên cứu về cái bug BoF trong Flash của Adobe gần đây không?
[Up] [Print Copy]
  [Question]   Re: Trang web chứa mã nguồn mẫu có lỗ hổng bảo mật 16/07/2008 23:06:19 (+0700) | #17 | 141856
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
Thấy tài liệu hay về vấn đề này, share cho anh em đọc cho vui:
http://www.determina.com/security.research/presentations/recon06/index.html
[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|