• 軟體品管專業課程簡介

    這篇文章主要說明,軟體品管的專業領域可以進階發展的方向。不管你是 RD,長年累月的寫程式、熟悉系統架構。或是QA對於目前不斷執行重複性的測試工作,不知道專業如何發展,可參考這些領域。有系統有計畫的學習,培養相關的專業知識。筆者歸納的六大主題。也是筆者在2014/2015 所開設的軟體專業課程。

    QA Courses

    1. 資料庫與網站效能

    這個主題很廣泛除了效能測試、建立一定的測試基準,測試完之後,針對測試的結果進行分析,並且做效能調教。調教的範圍包含網頁前端、作業系統(Windows , Linux)、資料庫 (MS SQL, MySQL)的效能調教與程式語言 design best practices 等子議題。

    2. 網路封包分析

    透過網路封包分析可以得知網路效能慢的原因、網路遭遇的資訊安全問題、應用程式資料間傳遞的除錯。網路封包分析可以回答的問題像是:到底是 Server 、 client端 還是網路有問題?

    網路內部有大量莫名攻擊行為,這些攻擊的來源為何? 透過什麼方式攻擊?

    3. Troubleshooting

    除錯是QA 也是Developer 一個很重要的技能。這個課程也延伸一些子議題包含 Windows 除錯的工具、Linux 除錯與資料庫除錯等。

    4. 病毒與未知程式碼分析

    當遇到一個可疑或是未知的檔案的時候,要如何做初步的分析。判斷該檔案的行為。

    當該檔案有可能是病毒時,應該如何進行檔案分析技巧。

    當該檔案的原始程式碼不見的時候,如何也能進行初步的邏輯分析,大致了解該程式如何運作

    讓不需要懂組合語言的人也可以做分析!

    5. 自動化測試

    自動化測試包含的子議題也很廣。包含 selenium、Python、與JMeter 等,如何運用這些工具達到更有效率的測試執行,是這個課程的重點!

    6. 網站安全測試

    網站的安全防護、資訊安全測試與防護。資訊安全測試特別對於電子商務、金流相關、帳戶密碼相關的網站特別重要。如何在上線前做基本的測試與防護,以避免公司與客戶商譽的損失,是這個課程的重點。

    參考各課程綱要如下,如有興趣,歡迎來信告知。五人以上即可開班。

    Web Security Testing

    Objective

    Top 10 web security and vulnerability verification and testing.

    Security Issue prevention through development life cycle.

    課程大綱

    • Top 10 Web vulnerability
    • Secure Software Practices through SDLC
    • Manual testing by Browser addon
    • Automation Testing (ZAP, Vega)
    • Prevention
    • Web Log analysis
    • Case study
    • Security testing reporting

    Network Forensic by WireShark

    Objective

    Network issue identification from the packets

    Identify potential Security issue

    課程大綱

    • WireShark uses and analysis
    • Network capture and network segment
    • Network protocol (TCP/IP/HTTP/DNS)
    • Suspicious traffic
    • Identification of Network slow issue
    • Hacked Network packets forensics

     Windows Troubleshooting by SystemInternals

    Objective

    Identify root/cause of Windows issue (leak, hang or crash.)

    Performance issue monitoring and analysis

    課程大綱

    • Windows architecture (thread, process, job. System process)
    • how to identify malware and suspicious process
    • How to identify the performance issue for Windows application
    • Crash, leakage, hang issue root/cause analysis
    • Windows system internals tools usage
    • Case study

     Performance Testing by Jmeter

    Objective

    Web service performance load/stress testing by Jmeter

    Windows/Linux key performance metrics monitoring and tuning.

    課程大綱

    • Performance tools/ metrics
    • Performance analysis for CPU, Memory, Disk and network
    • Tuning options for apache, mysql and linux
    • Windows Performance Tools (ProcessMon, ProcessExplorer Perfmon)
    • Linux Performance tools (Top , iostat, vmstat )

    Web Service Automation testing by selenium/python

    Objective

    Web UI Automation testing/operations by Selenium

    課程大綱

    • Web UI testing /operation automaton by Selenium/python
    • How to complete the automation “without” coding.
    • Prepare the selenium coding environment
    • your 1st automation scripts
    •  handing of complex Web UI (i.e. Ajax, alert)

    Malware Analysis

    Objective

    Suspicious file or malware analysis

    課程大綱

    • Malware type (EXE, DLL, DOC/PPT)
    • Malware static analysis
    • Malware dynamic analysis
    • Reverse Engineering

    Reverse Engineering By IDA

    Objective

    Identify suspicious behaviors

    Identify the program logic of EXE

    課程大綱

    • Basic Uses of IDA pro
    • CrackMe case Study
    • DLL injection case study
    • Downloader Case study
    • Key Logger Case study
    • Http connection C&C Case study
    • OS/VM detection Case study
    • User mode rootkit case study
    Jpeg

    Jpeg

    Tags: , , , , , , , ,

  • How to detect known Vulnerability of Java or C#?

    The objective of the article is share one tool that can help to detect known CVE (Common Vulnerability Exploit) of your Java or C# library.

    • What security issue it may have with uses of 3rd lib?
    • How to use the tool?
    • What information it can tell?

     

    Security Issue – “Known Vulnerability”

    Uses of known vulnerability to attack the application is one of common approach for hacker. Therefore, when our application use external 3rd party library, we need to check if the 3rd library includes known vulnerability or not.

    The known vulnerability can also refer to CVE “Common Vulnerability Exploit”

    • https://cve.mitre.org/

     

    Scanning Tools to detect CVE of 3rd library

    There is one project running by OWASP. It’s “Dependency check”. It can scan the C# or Java library versions and vendor name and then tell if there is known vulnerability CVE of the existing library files.

    Where to download it?

    http://dl.bintray.com/jeremy-long/owasp/dependency-check-1.2.9-release.zip

    Once the zip is downloaded, unzip to a specific folder. Execute the following command directly.

    Windows

    dependency-check.bat --app "My App Name" --scan "c:\java\application\lib"

    Mac or Linux

    dependency-check.sh --app "My App Name" --scan "/java/application/lib"

    Scanning Results

    Refer for the sample report of the scanning results.

    http://jeremylong.github.io/DependencyCheck/SampleReport.html

     

    Reference

    http://jeremylong.github.io/DependencyCheck/dependency-check-cli/installation.html

    Tags: , , ,

  • GHOST Vulnerability (CVE-2015-0235)

    這篇文章主要說明一個 1月底才發現的 Linux 嚴重的資訊安全風險,這個風險透過 GetHostName 的Buffer Overview 導致 Linux Server 被入侵。

    由於幾乎有的 Linux 主機都收到這個風險的影響,因此建議盡快更新 Linux 版本。這篇文章說明:

    • 這個風險是什麼
    • 影響的範圍
    • 如何偵測與更新

     

    這個風險GHOST 是什麼?

    這個風險來自於Linux glibc library. 讓駭客不需要帳號密碼就可以取得整個 Linux 主機的控制權。

    CVE-2015-0235. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0235

    glibc 是標準 Linux C語言的程式庫,所以預設所有的 Linux 都會有這個程式庫。因此,該風險影響的範圍很大。

    駭客可以透過 gethostbyname () 這個 API,buffer overflow 的方式,入侵該 Linux 主機。

    這個 API 主要的功能為將 hostname 解析為 IP address。

    那些Linux 版本會受到影響?

    • Debian 7 (wheezy)
    • Red Hat Enterprise Linux 6 & 7
    • CentOS 6 & 7
    • Ubuntu 12.04

     

    如何檢查是否有相關服務用到glibc ?

    lsof | grep libc | awk ‘{print $1}’ | sort | uni

     

    如何更新?

    • Fix for Centos/RHEL/Fedora 5,6,7

    yum update glibc

    sudo restart

    • Fix for Ubuntu

    sudo apt-get update

    sudo apt-get dist-upgrade

    sudo restart

     

    參考資料

    Tags: , , ,