Page 129 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 129

Software Testing and Quality Assurance





                                      Case Study for White Box Testing


                            A
                                    large merchant organization that was into online business was in the process of developing
                                    an online e-commerce Web site. The organization was trying to facilitate its customers to
                                    transfer funds to merchant accounts.
                           The organization had outsourced the payment processing to a third-party firm. The third-party firm
                           came out with payment software that was able to provide secured interfaces to facilitate funds
                           transfer between the customers and the merchant organization.
                           The Web site was analyzed under a high-level security risk  analysis. When the organization
                           performed the risk analysis, it was identified that one of the risks was occurring during the processing
                           of the transaction, that is, between the payments  interface and the Web  site. The fake  transaction
                           occurring was serious to both the customers and the  merchant organization. Due to this, the
                           customers could undergo financial loss, that is, the  account balances could get depleted. The fake
                           transaction could damage the credibility and the reputation of the merchant organization.
                           Using the payments interface, a systematic white box testing was performed on the modules. First, all
                           the module interfaces  were  determined as interface diagrams. Then, the module interactions were
                           represented with trust relationship boundaries.  Finally, data flows among different modules were
                           drawn. Based on this information, some test cases were developed. One of the test cases was to check
                           whether an anonymous user could perform a transaction. The trust relationship mapping and data
                           flow revealed the fact that the system was allowing anonymous users to perform transactions. A path
                           where the system was not validating the user inputs was identified. Then, a test case was developed
                           to test whether an invalid account transfer could take place from an external account to the merchant
                           account. As a result of unauthorized transactions that  were occurring through unauthenticated
                           channel, the account transfer was completed successfully.
                           Risk analysis also noticed a weak authentication channel in the payment customer service component
                           of the Web site. Hence case trust relationship boundaries and data-flow analysis similar to the above
                           situation were drawn for this authenticated channel. After analyzing and testing, it was realized that
                           an attacker could directly gain access to the merchant organization accounts. Using this access, the
                           attacker could make transactions from a merchant account to another non-merchant account.

                           Because of the bugs, an attacker was funneling the customers’ payments to a non-merchant account.
                           The above explained bugs impacted the merchant organization with significant security issues.
                           From this case study we can conclude that performing white box testing for important modules helps
                           to uncover design assumptions and implementation errors rapidly.
                           Questions
                           1.   How was the merchant organization able to identify the first bug associated with their Web site?
                           2.   Explain how an attacker was able to perform anonymous transactions.
                          Adapted from http://basicqafundamentals.blogspot.com/2011/01/case-study-for-white-box-testing.html
                          8.5   Summary

                          •   Web sites are important for any business to represent itself to the world.
                          •   Web site testing ensures proper functioning of a Web site.
                          •   Home pages, links, and content are the fundamental components of a Web site.

                          •   Links should be tested to ensure the correct functioning of a Web site.
                          •   A Web site should allow concurrent users to simultaneously access the Web site.



                          122                     LOVELY PROFESSIONAL UNIVERSITY
   124   125   126   127   128   129   130   131   132   133   134