Category Archives: 資訊安全

[PHP] Be discreet to use crypt function

Recently, the PHP’s crypt function crashed in my designed new system. In fact, in my database design, the length of password field is 64. It ran fine at CentOS 5.5 with PHP 5.2.x. However, when I moved this system to … Continue reading

Posted in Linux, PHP, Programming, Security, 程式設計, 資訊安全 | Leave a comment

遠通電收的查詢系統,黑客的聰明選擇

【編按】:目前遠通電收已經把驗證碼機制換成Session-based驗證機制,安全性比較高一些了。我來幫忙補完好了。MouseMs 的文章指出,遠通eTag的驗證碼產生方式,是使用Authentication Code + Plaintext 的方式來做驗證。 看樣子沒什麼問題。但是它最大的敗筆在於三個部分:1. 把Authentication Code的圖片檔及其相關驗證碼資訊「存到伺服器」 (也就是把輸入的驗證碼存起來的意思)。    【小實驗】:    各位可以輸入 https://css.fetc.net.tw/CS/Ajax/GetAuthImage/ohMt1pFQ0is1 ,會得到一個VCode.png1,把這個檔案副檔名改為.png,    看看是不是都是「XR8DJ」?2. 把驗證碼的「密文」交給使用者的瀏覽器網頁表單保管(見下圖)。 3. 每次驗證碼產生的「密文」與驗證碼「輸入值」都是一對一對應,產生方式都是固定不變的。 而在伺服器端的驗證碼驗證工作就是:1. 拿到使用者手動輸入的「驗證碼」以及使用者瀏覽器網頁表單的「密文」2. 把上面的「驗證碼」與「密文」進行比對;若比對正確,則驗證碼驗證成功。若比對失敗,則驗證碼輸入無效。 但如前所述,它產生的「驗證碼」與「密文」都是一對一對應,無論輸入多少次驗證碼,產生結果都一樣。 亦即無法抵擋「重送攻擊」。 所以黑客只要在驗證碼中輸入「XR8DJ」,密文則填入「ohMt1pFQ0is1」。按照上面的驗證碼處理工作,就一定破解掉驗證碼。 既然驗證碼可以被破解,黑客的工作就只剩下怎麼破解「車牌號碼」與「車牌證號」了。 提示:用最暴力的做法「字典攻擊法」應該可以破得掉。

Posted in Security, 資訊安全 | 3 Comments

SDP, SDN?

Today, I find that CSA(Cloud Security Alliance) have started the SDP(Software Defined Perimeter). The SDP is a framework of security controls to mitigates netowkr-based attacks on Internet-accessible applications by easing conectivities to those until devices/users are authenticated and authorized. The … Continue reading

Posted in Programming, Security, 資訊安全 | Leave a comment

收穫滿滿的Hadoop Taiwan 2013

此次參加2013 Hadoop Taiwan Conference,收穫很多。(以下是手動隨便寫寫,請勿拘泥writing format) 業界方面的進展比學界又更加跨出一大步,也代表著我們之後如果要發表雲端相關運算的論文或是發展技術, 要特別小心注意這類工具。 由於Big Data時代的來臨,現在的雲端運算處理偏重於「即時」運算,而非「批次」運算。 我們目前所學的hadoop map/reduce只能算是非常基本而已。 對於即時運算的需求恐怕還不太夠(Hive/Pig 也不例外)。 Google先看到這個嚴重情形,繼2009年以來,陸續發表Google Caffeine (for indexing), 可繪製大量網路資訊彼此對應關係的圖表資料庫「Pregel」, 2010年7月發表Google Dremel (for real-time analysis),號稱可完全打敗Hadoop在即時運算處理上的不足。 Google在報告中明確指出,「過去MapReduce需要分多次查詢的資料,Dremel可同時處理,並大幅縮短運算時間」, 因此是為了real-time query而設計的。 此次參加Hadoop Taiwan,聽人家介紹才知道原來有這個強力的project可用。因此,Apache也仿照這個概念, 提出Drill platform. 為了real-time處理夠快,也會導入Message Queue System,例如: Apache Kafaka: The message queue system for … Continue reading

Posted in Big Data, cloud computing, hadoop, 程式設計, 資工, 資訊安全, 軟體(Software) | Leave a comment

小米 vs. HTC: 從市場、資安與專利議題分析

最近一直在想小米機(MIUI) 跟宏達電(HTC) 為什麼比起來給使用者的感受度(無論價格、行銷力道與研發速度),就硬是差了這麼多呢?筆者就以下觀點做些微分析:一、 市場小米科技主要市場都在中國,就算不用走出國際,靠本國廣大的市場消費力就可以直接吃下大部分的市場了。因此,它只要把費用多多挹注在行銷力道上,搞飢餓行銷。 而HTC的市場除了中國亞洲地區外,還有歐美國家,因此需要分散研發能量,因應國情做出不同的客製化,且通路來源主要都來自電信商,成本自然提高。 二、資安由於小米機的主要市場來自中國,在中國只要乖乖配合政府就沒事了。所以很多(剽竊)服務都可以胡搞瞎搞,只要消費者接受就可以了(這也是我極力反對此類機種的原因)。但是能不能順利輸出到歐美國家,在個人資料蒐集與保護上,恐怕有重重疑慮。 但是反觀HTC,市場是在全世界,每個機種出貨都要符合當地政府的資訊安全法規,在軟體研發與硬體選擇上都要特別費一番工夫,是故研發成本也拉高許多。 三、專利在中國,小米機幾乎可以不用考慮專利佈局的問題,只要市場吃得下去就OK。但是HTC一開始的研發方向就是瞄準全球市場,專利佈局也要能夠撐得過歐美國家當局檢驗,否則一出貨就卡在海關過不了,研發經費整個泡湯。

Posted in 3C產品, 資訊安全 | Leave a comment

[.NET] 防止反組譯工具

由於.NET程式為了跨平台,導入CLR(Common Language Run-time),讓所有.NET程式編成MSIL(Microsoft Intermediate Language)程式碼,使其在CLR上運作(簡單來說,就是MS版的JVM)。也正因如此,其編譯出來的程式碼,都有一定的規則可以做逆向工程,進行反組譯。 知名的反組譯工具有:.NET Reflector(要錢), ILSpy (筆者測試過,若程式碼不加以防護的話,用這套很容易把程式碼完全還原回來…) 以及Telerik的JustDecompiler 但是,在販賣軟體產品的開發人員,應該不想要讓自己的程式碼被輕易地破解吧? 就目前讀到的參考資料,可將防止反組譯方法分為以下:1. 混淆保護(Obfuscating) :將程式碼變數命名或是方法做混淆,或是加入無意義的文字,使其無法輕易破解。    此類工具較為知名的有微軟合作夥伴PreEmptive推出的Dotfuscastor (Community版本內建於Visual Studio,這個版本不用錢;但是Professional版要錢,此二版本功能差異請見此文章)    若想要使用此工具進行軟體保護的話,可見以下兩篇教學:    (1) Dotfucscator 使用者入門    (2) Obfuscation with Dotfuscator with Visual Studio 20102. Kernel等級的加密保護:使其無法用MSIL去讀取。代表工具:MaxToCode3. 硬體鎖:採用硬體鎖的方式,避免程式盜用。(貌似跟反組譯無關) 參考資料1. .NET反組譯工具:ILSpy, Telerik JustDecompile2. 使用SuppressIldasmAttribute防止MSIL反組譯工具對組件進行反組譯3. [.NET Concept][Security].NET程式保護機制概述 (Recommended)4. MaxToCode

Posted in C, Programming, visual studio, 程式設計, 資訊安全, 軟體(Software) | Leave a comment

[PHP] PEAR、MVC、ZendFramework相關教學資源

PEAR 教學資源 Testing PHP Code with PHPUnit Caching PHP Programs with PEAR [Web] 連結分享 Package Information: XML_Parser Generating Code from Tests PEAR:AUTH的用法1 Package Information: HTML_QuickForm2 Package Information: Pager Package Information:HTML_TreeMenu [PHP] 好用的 PEAR – PHP Mail and Mail_Mime 安裝與使用PhpDocumentor [PHP]用PEAR::SOAP寫個簡單的WebService … Continue reading

Posted in PHP, 程式設計, 網頁撰寫, 資訊安全 | Leave a comment

[Apache] htaccess 入門/進階 教學資源

.htaccess是什麼?.htaccess幾個簡單應用 Apache .htaccess Guide & Tutorial Apache Tutorial:.htaccess file .htaccess Tutorial THE Ultimate Htaccess Advanced htaccess tutorial more .htaccess tips and tricks 8 Great Htaccess Rules To Improve Your Website 用 htaccess 來擋圖片盜連並且讓 google reader 可讀 Ultimate Guide to htaccess … Continue reading

Posted in apache, Linux, PHP, 網頁撰寫, 資訊安全 | Leave a comment

[C++] 大數運算好用的函式庫GNU MP (GMP)

GNU MP(簡稱GMP)是一個可以進行大數運算(Big number operation)的函式庫,使用C++實作,要應用此函式庫開發的話,要注意它使用LGPL3的License。這個函式庫的出現,對於資訊安全研究領域的人員,是一大利多,可以讓開發人員輕鬆使用大數運算,進行各種資料加解密或簽章的資安技術開發。目前最新版本是5.0.2版,筆者建議讀者可到它的官網下載,閱讀開發文件後,便可輕鬆開發程式。 參考文獻   GNU MP官網 酷!學園 “什麼是GMP?” Multiprecision arithmetic library (64bit library) 植基於橢圓曲線質數視窗化介面之質數判斷工具之設計與實現

Posted in C/C++, Linux, 程式設計, 資工, 資訊安全 | Leave a comment

[PHP] 實作時應注意的SQL Injection

SQL Injection一直是Web Designer 頭痛的問題,所幸我們可透過一些習慣設定、檢查與驗證機制,來防堵SQL Injeciton攻擊手法。 例如,在「PHP SQL Injection 和 XSS 的偵測程式 和 程式撰寫注意事項 – 2008」這篇文章中,對於php.ini設定檔、參數傳遞、DB操作等事項,逐一簡要列出要點,有興趣的讀者,可以看一看。 另外,對於較為詳細的PHP SQL Injection檢查與驗證機制,筆者在這邊推薦以下幾篇文章給讀者閱讀: mysql – sql injection prevention PHP+MySQL 環境下 SQL Injection 攻防戰 [PHP]解決網站被 SQL injection 攻擊 僅此,筆者希望PHP Designer都能夠做到這些基本工,以防止自己設計的網站被黑客破解。

Posted in PHP, 程式設計, 網頁撰寫, 資訊安全 | Leave a comment