Entries For: 2008
- July (1)
- May (3)
- April (2)
- January (1)
2008-07-02
Reminiscence of a half year past
A personal note on the half year past. Nothing related to security, so move along.
So, it's been half a year. It's been half a year in turbulence.
On Jan 1st, I was so eager, excited, and hopeful on my flight home. I had a plan, a simple plan, and it was rolling well. You see, what could be easier than finding a job, working for a few years, and then taking a higher degree? I thought this'd gotta be it, that I found my future.
Then it all broke apart. It's funny though, cuz I was afraid of exactly this from the beginning. I could tell it was too good to be true, that everything was like arranged, granted, not earned, and so something got to be missing. I mean, come on, you don't expect to see a perfect world, do you? The problem was it happened too late! I was so into it. I bet on it with everything I had.
I lose my bet. My plan went to trash. I declined a few job offers to open my own consulting firm. I am still not sure why I did that. I might have thought the market demand was high, or it might be cool to do it, or it was just a rebelious action to satisfy my ego. Regardless, I have a firm now. And it is the reason I write this piece.
The firm is doing well according to plan. Before you ask, no, this is not the plan I talked before. This has its share of late night's oil burning, sweats and a few grey hairs. It has ups and downs, cheers and cries. And it is not perfect. It is so much different from going to work at 09:00, coming back at 18:00, having dinner till 20:00, spending a few hours doing god-knows-what in front of the monitor, and finally lying on the floor till tomorrow. It is no longer a pleasant life for me at all.
Thinking about the firm reminds me of all the good times in the island country, where I didn't have to think about anything. I miss the nights we hung out. I miss the trees along the road. I miss the breezy cool wind on the way home. I miss the flat. I miss late night movies/series. I miss the nights I slept on the floor. I miss the morning green bean dessert and bean curd. Life was a pleasure ride in the park. I earned a comfortable salary so I didn't have to think twice before spending. I lived in a spacious and windy flat. I owned a motorbike. I had everything I needed. I was contended.
Now, my head is full of questions. What is the next step, how to move forward, who is the next customer, how to approach them, who to partner with, where to find money to do those stuffs... Infrastructure, marketing, human resource, finance, law, etc. all come pouring down on me. These questions don't seem to end at all. Instead, they become more and more challenging, they push me closer and closer to the wall.
Sure I have doubts. Is the market ripe for us? Isn't it better to do business elsewhere? Was coming back just plain wrong? These questions keep whirling wildly. My thoughts are all interwound, messed up.
Fortunately, everytime I think about them, I always come to the same answer: that I can't change what happened, I can only fix them. So that's exactly what I'm doing. I founded a firm, so I've gotta take it high. I failed a plan, so I've gotta work another one.
Though I've lost the eagerness and excitement of the flight that day, I still have hope. When the turbulence is over, we'll have a safe landing on the long runway.
2008-05-30
Sử dụng bộ công cụ SysInternals "live"
Ngay bây giờ bạn đã có thể sử dụng bộ công cụ SysInternals trực tuyến mà không phải cài đặt hoặc giải nén bất kỳ tập tin nào.
Những nhà quản trị đã quá quen thuộc với bộ công cụ của SysInternals như Process Explorer, TcpView, Rootkit Revealer. Các công cụ này đã rất dễ được tải về và sử dụng, giờ đây lại càng dễ hơn nữa. Ví dụ như bạn có thể chạy ngay công cụ Process Explorer mới nhất bằng cách gõ dòng lệnh:
\\live.sysinternals.com\procexp.exe
Quá đơn giản, phải không? Danh sách tất cả các công cụ có thể được xem tại http://live.sysinternals.com.
2008-05-15
Salami attack at Asia Commercial Bank
I went to the bank today to make a small exchange. But the money I got is less than the expected amount.
Sáng nay khoảng 10:00 mình ra ngân hàng ACB ở đường Xuân Hồng, ngay phía sau khu triển lãm Tân Bình để đổi 100 đồng Mỹ ra tiền Việt.
Theo tỉ giá của ngày hôm nay thì mình sẽ nhận được 1,616,300. Trong giấy chi cũng ghi rõ con số này.
Thế nhưng nhân viên ở quầy chỉ đưa mình 1,616,000. Tức là thiếu 300 đồng.
Mình hỏi lại nhân viên đó rằng tại sao lại làm tròn xuống thế này và nhận được câu trả lời là cho dù mình có 499 đồng thì cũng vẫn làm tròn xuống như vậy.
Trước hết, ở những ngân hàng khác mình thường lui tới thì không bao giờ có chuyện làm tròn số như thế này. 1 cent là 1 cent. 100 đồng là 100 đồng. Họ sẽ đưa đủ. Mặc dù mình chưa thấy trường hợp nào họ đưa "dư" :-D nhưng thiếu thì chắc chắn là không.
Thứ hai, không biết là chính sách làm tròn xuống gây thiệt hại cho khách hàng như thế này là của chính nhân viên quầy tự ý vì mục đích riêng, hay là của toàn ngân hàng.
Đây rõ ràng là một ví dụ điển hình và thực tế về "bòn rút" (salami attack) trong lĩnh vực an toàn thông tin. Salami attack là những sự việc nhỏ nhặt nhưng xảy ra trên một quy mô lớn ví dụ như hàng trăm ngàn tài khoản trong ngân hàng bị bòn rút 100 đồng thì kết quả sẽ là một thiệt hại cỡ vài trăm triệu đồng. Đối với từng chủ tài khoản, sự hao hụt 100 đồng này không dễ phát hiện ra cho nên salami attack thường ít khi bị phát hiện.
Dù sao đi nữa thì ACB cũng đã mất đi một khách hàng (cho dù là nhỏ) cho tới khi mình nghe được tin tức khác. Bởi vì đã không làm tròn lên thì chớ có chuyện làm tròn xuống. Câu nói khách hàng là thượng đế ở đâu rồi?
2008-05-11
Fun code snippet
This small snippet is copied from a much popular application.
.text:1000EBE0 push ecx ; some_string
.text:1000EBE1 push '%'
.text:1000EBE3 push '%'
.text:1000EBE5 push offset aCsystemdriveCS ; "%cSystemDrive%c%s"
.text:1000EBEA push edx ; buffer
.text:1000EBEB call ds:swprintf
Translated to C:
swprintf(buffer, "%cSystemDrive%c%s", '%', '%', some_string);
Of course you'd be scratching your head to explain why the writer wrote it this way, instead of simply swprintf(buffer, "%%SystemDrive%%%s", some_string);. To show off great C-kungfu? Or the lack thereof? Anyway, I just thought it was funny enough to post.
2008-04-01
Dịch vụ chứng thực hay dịch vụ làm phiền?
Bất kỳ việc gì sử dụng giấy tờ sao chép đều cần đến con dấu chứng thực ở Ủy ban phường. Nhưng có thật sự là cần thiết hay không?
Mở công ty, mua bán nhà, xin cho con đi học, làm đơn xin học bổng, v.v... đều cần đến bản sao CMND. Và thông thường các bản sao này nhất định phải có con dấu chứng thực của Ủy ban nhân dân phường.
Nhưng liệu việc chứng thực có tác dụng hay không, hay chỉ là hình thức dư thừa (red tape) mà tất cả các quốc gia khác trên thế giới đều đang muốn cắt giảm?
Tôi đem 5 bản sao giấy CMND ra UBND phường xin chứng thực sao y bản chính. Bản sao của tôi là hai mặt CMND trên cùng một mặt giấy khổ A5, cách nhau một khoảng trống vừa đủ để một con dấu chứng thực đè lên cả hai mặt CMND. Nhân viên UBND trả lời rằng sao chép như vậy không đúng quy cách và yêu cầu sử dụng dịch vụ ở ngay tại UBND phường. Họ sao chép 2 mặt CMND trên 2 mặt giấy của cùng một tờ giấy nhỏ. Khi chứng thực, nhân viên UBND phường không hề nhìn tới mặt sau của CMND (nơi ghi rõ dấu hiệu nhận dạng và ngày cấp CMND) cũng như chỉ đóng dấu chứng thực vào một mặt của bản sao!
Câu hỏi được đặt ra là:
- Nếu không kiểm tra giữa bản chính và bản sao, ý nghĩa của việc chứng thực là gì?
- Con dấu chứng thực chỉ đóng ở một mặt, mặt còn lại liệu có còn giá trị chứng thực?
- Tại sao một bản sao mắc phải những lỗi nghiêm trọng ảnh hướng đến tính chính xác của thông tin được cho là đúng quy cách?
Một câu hỏi quan trọng, và tổng quát hơn là tại sao việc chứng thực lại cần thiết? Dù đã có một bản sao chứng thực, mọi người vẫn bắt buộc phải đem bản chính theo để các cơ quan khác kiểm tra lại. Bỏ qua việc họ có kiểm tra lại hay không, vấn đề là với bản chính đem theo đó, các cơ quan khác có thể dễ dàng tạo ra các bản sao ngay lập tức. Việc này vừa loại bỏ đi một phiền hà không đáng có, vừa đảm bảo tính trung thực của thông tin.
Xin lưu ý rằng chúng ta chưa nói đến tính chính xác của thông tin được chứng thực trong bài này.
Tội phạm đánh cắp tiền từ ngân hàng Việt Nam
Vài bọn tội phạm từ các quốc gia khác như Nigeria, Congo đã giả mạo chữ ký để đánh cắp tiền từ các ngân hàng Việt Nam.
Theo báo Sài Gòn Giải Phóng ngày 31 tháng 03 năm 2008, lực lượng công an đã bắt được một vài nhóm tội phạm từ các quốc gia khác giả mạo chữ ký và thẻ tín dụng để mua hàng và đánh cắp tiền từ các ngân hàng Việt Nam.
Theo tin đã đưa thì một nhóm từ Nigeria bị bắt trong khi đang dùng thẻ tín dụng giả để thanh toán tại siêu thị. Rất may là nhân viên siêu thị đã nghi ngờ tên trên thẻ không phải tên của gã nên đã tri hô bảo vệ siêu thị tóm lấy tên tội phạm này.
Tin thứ hai, và là điểm chính của bài này, là một vài nhóm tội phạm khác đã tinh vi hơn. Chúng giả chữ ký thực hiện lệnh chuyển tiền từ một tài khoản ở nước ngoài vào một ngân hàng trong nước vào ngày x. Sau đó, chúng ra ngân hàng rút hết tiền vào ngày x + y. Đến khi ngân hàng nước ngoài phát hiện ra chữ ký giả và thực hiện lệnh hủy việc chuyển tiền thì lúc này đã vào ngày x + y + z.
Có hai câu hỏi đặt ra ở đây:
- Tại sao không có thời gian hãm tài để cả hai phía xác nhận lệnh chuyển tiền là thật?
- Phía nào sẽ chịu trách nhiệm cho sự sai sót này?
2008-01-11
Training at Malaysia Multimedia University, Melaka Campus
Experiencing the first overseas training engagement
Jaan Yeh, a final year student at Malaysia Multimedia University (MMU) invited to me to its Melaka campus to conduct another training on software exploitation. I was ready and eager to take on this first overseas training engagement. But little did I know there was a big surprise awaiting.
Arriving at the Kuala Lumpur International Airport a day before the training started, I was welcomed by three fellas who were going to be in the workshop. One of them is from the nearby Cyberjaya campus, the other two are flat-mates at the Melaka campus. It was around 2:30pm and these fellas had not had any food yet. So shortly after a quick Burger King meal, we headed to our training site, a two-hour drive away.
Melaka is a rustic old Portugal port settlement with small houses, narrow streets, and great seafood! On the first night there, the chaps took me out to a "satay" house. But this satay is different from the satay in Singapore where they grill chicken and paste on some satay. This satay is a steamboat, or, at least, a steam-pot. We dunked all the raw meat into a boiling pot and had a leisure talk while waiting for them to be edible. The best thing about this place is they sell big prawn, 20cm long prawn, for 60 cents (RMY 0.60). That's a steal! On my last night there, we again had seafood, this time by the sea. That night's meal could have cost about RMY 300 if we had had it in Singapore. Here, it was only RMY 120. Cheap!
If food is the second best thing in this trip, the best is gonna be the training itself. And as I said, there was a big surprise for me. I thought this training was only for 12 students majoring in IT Security. It turned out there were only 9 students (Fabian, Nan, Jeremy, Yeh, Aidid, Wee, Zeon, Tan, Najib), and only one of them is from IT Security. The others are from Data Communication, Knowledge Management, etc. A multi-disciplined group. Not only that, two of the lecturers (Muslim, and Hadi) from Faculty of Engineering and Technology (FET) and one professional (Victor) from F-Secure malware analysis lab (in KL) also joined in. It was a big turn out. The biggest surprise though, was that Najib was in wheelchair! Man, I couldn't imagine the training would be so well received. Thank you for your passion and presence, Najib!
Throughout the whole workshop, everyone was able to conduct the analysis, and exploits themselves. One of them (Tan) even solved a quiz within only 20 minutes (two-thirds the allowed time). Fabian, Yeh, Zeon got stuck with it for a few minutes but managed to pull it off successfully too. I shouldn't praise Hadi, Muslim and Victor here because that was kind of expected of them but they made me feel like I was teaching the oh-so-obvious stuffs. I was also glad that Najib got the gist of a successful format string exploitation.
The training lasted a little bit more than 2 days because these participants demanded more deep technical explanation than an average Joe and I also allowed them to play around with their creativity a little bit more. In general, I say the training was another success.
Not only was the trip a gastronomy treat, it was also a personal fulfillment. I managed to buy a book that I could not find in many bookstores in Singapore nor Sydney. I also got some presents home. The last day is the best polishing touch to this whole wonderful trip.
Thank you Jaan Yeh for the invitation, and your hospitality. Thank you Muslim for providing necessary facility. And thank you everyone for your active participation! Keep the interest level high, will ya?