#extract public key OpenSSL
Explore tagged Tumblr posts
Text
How to Install OpenSSL on Windows Computers
In this article, we shall discuss how to Install OpenSSL on Windows Computers. OpenSSL is an open-source command-line tool that is used to generate the SSL certificate and private key and is available in both versions 32 and 64 bit. Please see How to fix Windows Update Fails with Error 0x80092004, how to Fix the Port used for the Virtualhost is not an Apache Listen Port, and Shell Scripting: How…
#convert key format OpenSSL#convert PEM to DER OpenSSL#extract public key OpenSSL#generate private public key OpenSSL#how to use OpenSSL on Windows#install OpenSSL Windows#Microsoft Windows#OpenSSL installation#OpenSSL key conversion#OpenSSL key generation tutorial#OpenSSL key management#OpenSSL public key extraction#OpenSSL Windows#OpenSSL Windows installation steps#Windows#Windows 10#Windows 11#Windows OpenSSL setup#Windows Server#Windows Server 2012#Windows Server 2016#Windows Server 2019#Windows Server 2022
1 note
·
View note
Text
Good News For Bitcoin From India, Should Other Countries Additionally Observe The Go Well With?
Steemit, the web site that drives steem, gives forex to content material creators within the type of the eponymous steem tokens, which might then be traded on the crypto market. Scrypt is a password-primarily based key derivation operate that is designed to be costly computationally and memory-clever to be able to make brute-pressure assaults unrewarding. Provides an asynchronous scrypt implementation. Asch is a Chinese blockchain answer that gives users with the power to create sidechains and blockchain functions with a streamlined interface. The consumer interface is welcoming, and anyone can full a transaction with out figuring out a lot element about Exodus. RandomValues() is the only member of the Crypto interface which can be used from an insecure context. By July 2018, Multicoin had raised a mixed $70 million from David Sacks (a member of the so-called "PayPal Mafia"), Wilson and other investors. Nearly immediately they raised $2.5 million from angel buyers. This tells me that buyers are merely "buying the dip" quite than figuring out which cryptos have enough real-world value to outlive the crash. The only time when producing the random bytes could conceivably block for a longer period of time is true after boot, when the entire system continues to be low on entropy. Implementations are required to make use of a seed with enough entropy, like a system-stage entropy supply.
Trusted by users all internationally
MoneyGram has gained over $eleven million from the blockchain-based mostly funds firm Ripple Labs
Up-to-date information and opinion regarding cryptocurrency by way of tech and worth
Easy methods to Trade Ethereum
60 Years of Kolkata Mint
Limit Order
Practically 200 trading pairs
Setup a Binance Account‚https://CryptoCousins.com/Binance
youtube
However keep in thoughts 3.1.x variations still use Math.random() which is cryptographically not safe, as it is not random enough. If it's absolute required to run CryptoJS in such an surroundings, stay with 3.1.x model. For this reason CryptoJS would possibly doesn't run in some JavaScript environments without native crypto module. CCM mode may fail as CCM can't handle multiple chunk of knowledge per instance. The Numeraire resolution is a decentralized effort that is designed to supply better outcomes by leveraging anonymized knowledge sets. Spherical represents a concerted effort to decentralize inefficient eSports platforms. The FirstBlood platform goals to optimize the static, centralized eSports world. To convey the neatest minds and prime initiatives in the trade together for a FREE online occasion that anybody can watch anywhere on the planet. Bitcoin is the most important and most successful cryptocurrency on this planet, and goals to solve a big-scale problem- the world economic system is to interconnected, and, over the long run, is unstable.
Be a part of the CryptoRisingNews mailing checklist and get an important, exclusive Cryptocurrency news along with cryptocurrency and fintech gives that can boost your trading revenue, straight to your inbox! IOTA is a highly revolutionary distributed ledger technology platform that aims to operate because the backbone of the Web of Issues. MaidSafeCoin is much like Factom, providing for the storage of critical items on a decentralized blockchain ledger. The Bitshares platform was originally designed to create digital assets that could possibly be used to trace assets equivalent to gold and silver, but has grown into a decentralized exchange that offers customers the ability to situation new belongings on. Like Monero, Zcash gives complete transaction anonymity, but also pioneers the usage of "zero-data proofs", which permit for totally encrypted transactions to be confirmed as legitimate. Our line presents whole and natural merchandise full of well being benefits on your equine partners and pets in and out.
The asynchronous version of crypto.randomFill() is carried out in a single threadpool request. The final time the present help stage was hit TNTBTC grew by 250% in a single single candle. There is no such thing as a single entity that can affect the currency. This methodology can throw an exception underneath error circumstances. Observe that typedArray is modified in-place, and no copy is made. Observe that these charts only embody a small variety of precise algorithms as examples. The API additionally permits using ciphers and hashes with a small key dimension which can be too weak for protected use. Gold has historically been viewed as the protected haven throughout recessions and bear markets. The important thing used with RSA, DSA, and DH algorithms is advisable to have at the least 2048 bits and that of the curve of ECDSA and ECDH at the least 224 bits, to be protected to use for a number of years. It is strongly recommended that a salt is random and no less than 16 bytes long. A selected HMAC digest algorithm specified by digest is applied to derive a key of the requested byte size (keylen) from the password, salt and iterations.
The salt ought to be as unique as potential. The iterations argument must be a quantity set as excessive as possible. The Helix crew has set its most block sizes to 2 MB. The algorithm is dependent on the available algorithms supported by the version of OpenSSL on the platform. On this model Math.random() has been replaced by the random methods of the native crypto module. Synchronous version of crypto.randomFill(). Don't USE THIS Version! This property, however, has been deprecated and use needs to be avoided. An exception is thrown when key derivation fails, in any other case the derived key is returned as a Buffer. If key isn't a KeyObject, this perform behaves as if key had been handed to crypto.createPublicKey(). If key isn't a KeyObject, this function behaves as if key had been handed to crypto.createPrivateKey(). In that case, this perform behaves as if crypto.createPrivateKey() had been referred to as, except that the kind of the returned KeyObject will probably be 'public' and that the personal key cannot be extracted from the returned KeyObject.
1 note
·
View note
Text
Terraria Steam Key Generator Online
Aug 11, 2018 free steam top games in 2019! Steam keys generator! Without survey! Fake STEAM Key Generator Since I have put my game engine and my survival game on Steam, I am getting quite a lot of requests for free steam keys. Some of these requests are valid, made by nice youtubers and twitchers, but a lot of them are made by scammers, pretending to be a popular youtuber or similar but easy to make out to be an impostor, trying just to get a handful of free keys, in order. Terraria is a game in which the player does not know what to expect. Take hold of the arms and stop the enemies from entering your territory. The main task of the player is digging deep underground, look for treasure, money and useful things that can be useful in a mission.
Terraria Steam Key Generator Online No Download
Free Terraria Steam Code
Update: We updated the software recently, but it was a silence update so the version number is not affected. The Steam Key Generator which is shown below and named 2013 still works! Successfully tested February 7th 2014!!
Steam key gen terraria steam key generator steam product key steam key generator download. Steam game key generator online steam key generator counter strike the game steam game generator steam keygen generator steam product code generator steam key generator free download modern warfare 3 key mw3 steam key generator counter strike keygen.
Hey Guys,
Nfs shift cd key generator. Whether playing online with friends, taking on friends challenges or the single player career.
Terraria; 1 Free Terraria Key on Steam; User Info: Gh0sTxVoRTeX. Gh0sTxVoRTeX 5 years ago #1. As the title says I have an extra giftable copy of terraria on steam. I bought the 4-pack for me and my friends but I still have one extra and it's been in my inventory for ages. If anybody wants it let me know. Aug 11, 2018 free steam top games in 2019! Steam keys generator! Without survey!
since Steam changed their security settings a few weeks ago, it was hard for us to just update our old Steam Key Generator v2.8.
Instead we decided to start over again and created a completely new steam key generator based on insider tips from one of our friends, working for Valve Corporation ®.
We have integrated MAC/Linux support for all you Apple users 😉
This is the result:
Our Steam Key Generator is self updating, so you won´t miss any upcoming game highlight! The keys are all safe to use and can be redeemed directly through your Steam Account.
Terraria Steam Key Generator Online No Download
The keys are 100% valid & unique and you are able to play the games online with your freinds.
Just follow these steps again:
1.Choose your game from the list and choose your OS. 2.Click “Generate” and wait until the process is complete. 3.Copy the key and redeem it on Steam 4.Enjoy your free game!
Download the new Steam Key Generator – updated February 2014 here:
This software has no virus and its 100% free!
This tool is running on any operating system!
Anti-Ban Protection : Yes Undetectable Script : Yes Tested and fully working with an accurate of 99% working rate!
You can download the Generator from here:
Mirror 1:
Mirror 2:
Mirror 3:
If previously links doesn’t work use this:
100% Guaranteed!!
Everybody knows what Steam is, if you don’t, you have probably been living under a rock or something. It is the most popular gaming platform for computers which allows you to buy games and download them digitally, play them online with your friends and chat with them meanwhile either via text or through voice. The key feature here is that you can download the games digitally without having to leave the computer, no CDs or anything else annoying.
The only problem here is that these games are insanely expensive nowadays and not everyone can spend 60 bucks on a computer game. Well this is why this site has been created, to save YOU and other gamers as well a lot of money. Our Steam Keygen can simulate the process of buying games on Steam and will allow you to generate a redeemable CD key which you simply paste into Steam and get the game in your games library. This will save you hundreds of dollars, especially with the extensive list of games on Steam we have added. Currently the program supports well over 500 Steam, Origin and U-Play games and you can download it for free if you keep on reading.
Here are some pictures with the Steam Key Generator Version 10.6.7:
Our steam key generator has the following features, but not limited to: 1: Easy and simple to use interface. 2: Always updated with all steam updates. 3: Works with EVERY steam game. 4: Secure. Featuring anti-detect protection. 5: Instant game key generation. 6: FREE of charge, we don’t want money for it 7: Works with Windows 7, 8, Vista,Linux,Mac and XP !
The process of generating the Steam CD keys is extremely simple. Here is a video of us actually generating these keys with our free steam key generator which you will be able to download after scrolling down a bit. That’s not all though, we do not simply generate the keys like other tools show you as well but we also take the extra step to redeem them on Steam to prove to you that they are actually working keys.
How do CAs generate public keys without the private key?CAs do not generate any public keys. However, when filling the request form you are only asked for the CSR, not the private key.My question is: how do they do it to create the public cert from the CRT without having the private key? Generate public key from private key certificate. When creating a CSR so you can later paste it to a CA to generate a signed TLS certificate, you first generate a private key: openssl genrsa -out your-key.key 2048With the private key, you can then generate the CSR: openssl req -new -key your-key.key -out your-request.csrIf you want to extract the public key from the CSR, all examples I've seen require the private key to be present in the openssl command: openssl x509 -req -days 365 -in your-request.csr -signkey your-key.key -out your-public-key.crtI assume CAs do something similar to sign the certificates and therefore create a public key. They create certificates which contain a requesting party's public key (from the CSR).The private key is not necessary to extract a public key from the CSR.
We spend numerous hours reasearching the steam algorithms and developing our keygen. Non of this wouldn’t even be possible without every single one of our dedicated fans who helped us with the purchase of many games in the development process. For this we are grateful and here we present the complete steam key generator or keygen for short to everyone that enjoys the steam games, but doesn’t have the funds to get all of them. Try out the game with our keygen and think of purchasing it afterwards to support the developers. And to us, we get our little share here and there so don’t worry. All you need to do is download the keygen and install .Net Framework 2.0 or higher to get it to work and thats it !
Usage of our keygen is very easy ! Just start the steam key generator, select the game you want and press generate game key. After that, you key for the selected game will appear and you can input it into steam like a normal product key and enjoy ! Happy gaming ! – The HackAllTeam.
Download from here:
Free Terraria Steam Code

Extra tags: Steam All Games Free 2015 Steam All Games Key Generator 2015 Steam All Games Hack 2015 Steam All Games Download Steam All Game Unlocker Steam key Steam serial Steam Keygen Steam Key Generator Steam Crack Steam Key Generator For PC Steam Keygen For Generation Serial Keys Steam Product Key Steam Serial Code Steam CD Keys Steam Activation Steam CD Code Steam STEAM Keys Steam First Crack Steam Free activation keys Steam Crack Free Steam Free Full Game Steam Full game Free Download Steam Crack download Steam Keygen download Steam Serial download Steam Serial Key download Steam Serial Serial Number download Steam Serial Key Download Steam Crack free download Steam Keygen free download Steam Serial free download Steam Serial free Key download Steam Serial free Number download Steam repack free download Key for Steam Key generator Steam Steam Full game Free Download Steam Torrent Download Steam Crack download Steam Keygen download Steam Serial download Steam Serial Key download Steam Serial Serial Number download Steam Serial Key Download Steam Crack free download Steam Keygen free download Steam Serial free download
0 notes
Text
NEW ATTACK REMOVES TLS PROTOCOL ENCRYPTION

This new attack is also functional against the recently released TLS 1.3 protocol
A new cryptographic attack capable of disrupting the encrypted Transport Layer Security (TLS) traffic has been discovered; according to network security and ethical hacking specialists from the International Institute of Cyber Security, this could allow threat actors to intercept and extract data transported by a method that was considered secure.
This new attack variant is functional even against TLS 1.3, the latest version of the security protocol, launched during the second quarter of 2018. The attack is not entirely new, the experts pointed out; it is a variant of a known attack, specifically the Bleichenbacher attack.
According to specialists in network security, the original attack was named because of Daniel Bleichenbacher, an expert in cryptography, who in 1998 made the first variant of attacks against systems using RSA encryption together with the function of PKCS # 1 V1 encryption. Since then, multiple variants of the attack have been developed by various experts.
The main reason for the emergence of so many variants of the Bleichenbacher attack is that the TLS security protocol authors opted to add protection measures to make it more difficult to guess the RSA encryption key, rather than replacing this algorithm with a whole new development. These measures were defined in the 7.4.7.1 section of the TLS standard, but since their publication there are plenty of hardware and software developers who do not implement them as dictated by the protocol.
According to network security experts, the implementation flaws of these security measures have caused countless servers, firewalls, routers, VPN, and code libraries supporting TS to still be vulnerable to some variants of the Bleichenbacher attack.
A new way to break RSA PKCS#1 v1 (the most used RSA configuration for encrypting TLS connections) was recently discovered and, as if this was not enough, this new Bleichenbacher attack variant is also functional in QUIC, the new encryption protocol for Google.
“The attack takes advantage of a side channel leak through these implementations to break the RSA key exchange of TLS deployments,” the investigators mentioned in their report. “We tested nine different TLS implementations against cache attacks and we can confirm that 7 are vulnerable: OpenSSL, Amazon s2n, MbedTLS, Apple CoreTLS, Mozilla NSS, WolfSSL and GnuTLS”.
The updated versions of all the affected libraries were published simultaneously since November 2018, when the researchers revealed the first advances of their work.
The vulnerabilities that make this new variant of Bleichenbacher attack viable have been tracked as: CVE-2018-12404, CVE-2018-19608, CVE-2018-16868, CVE-2018-16869 and CVE-2018-16870.
0 notes
Text
Original Post from Talos Security Author:
Update (11/04/2019): There have been several public reports of active exploitation of CVE-2019-0708, commonly referred to as “BlueKeep.” Preliminary reports indicate that the vulnerability is being exploited by adversaries who are leveraging access to compromised systems to install cryptocurrency mining malware. At this time, there has been no evidence to suggest that the exploitation is due to the emergence of a new worm, and it is likely being done as part of a mass exploitation campaign, similar to what we have seen in previous instances of mass exploitation campaigns. Existing coverage for BlueKeep continues to be an effective way to mitigate possible exploitation attempts. For additional information related to protecting against attacks leveraging BlueKeep, please refer to the blog posts here. Note: This post was originally published on 09/03/2019. This blog was authored by Brandon Stultz, Holger Unterbrink and Edmund Brumaghin.
Executive summary
Over the past few months, Microsoft has released several security updates for critical Remote Desktop Protocol (RDP)-related security bugs. These bugs are significant for IT infrastructure because they are classified as “wormable,” meaning future malware that exploits them could spread from system to system without requiring explicit user interaction. These vulnerabilities could be exploited by an attacker sending a specially crafted request to the target system’s Remote Desktop Service via RDP. We have seen how destructive these kinds of attacks can be, most notably WannaCry. We highly recommend organizations immediately apply Microsoft’s patches. Cisco Talos released detection coverage for CVE-2019-0708 and also enhanced guidance to help organizations facilitate inspection of RDP sessions here. Microsoft published additional security updates last month to mitigate two additional remote code execution vulnerabilities, CVE-2019-1181 and CVE-2019-1182, affecting several versions of Microsoft Windows. These bugs are referred to as “DejaBlue” due to their similarities to BlueKeep.
Once again, Cisco Talos started working immediately to reverse-engineer the RCE vulnerabilities. Protections for both CVE-2019-1181 and CVE-2019-1182 now exist to keep your systems secure. SID 51369 for SNORT® correctly blocks exploitation of CVE-2019-1181 and CVE-2019-1182. In this post, we’ll run through the details of how to protect against this “DejaBlue” exploit and walk through the steps to protect your environment.
Remote Desktop Services remote code execution vulnerability (CVE-2019-0708)
This vulnerability was originally published in May 2019, and is often referred to as “BlueKeep.” It is a pre-authentication vulnerability, meaning that an attacker could attempt to exploit it without first having to authenticate to the affected system with valid credentials. Microsoft released a security advisory regarding this vulnerability and has repeatedly urged organizations to apply the corresponding security update to systems to mitigate the threat of attacks targeting it.
Significant research has taken place over the past few months with many researchers working to successfully develop an exploit payload. Working remote code execution exploits have now been developed, although none have been publicly released at this point. As such, organizations should ensure their systems are updated as soon as possible to ensure that their systems are no longer affected by this vulnerability. In situations where security updates cannot be applied, organizations should leverage Network Level Authentication (NLA) functionality available within Microsoft Windows and limit exposure by restricting access to RDP servers from the internet.
Remote Desktop Services remote code execution vulnerability (CVE-2019-1181, CVE-2019-1182)
Microsoft published additional security updates last month to mitigate two additional remote code execution vulnerabilities affecting several versions of Microsoft Windows. Similar to what was described for CVE-2019-0708, these vulnerabilities are also pre-authentication and do not require any explicit user interaction to successfully compromise affected systems. Microsoft released guidance bulletins for CVE-2019-1181 and CVE-2019-1182 and recommends that organizations ensure their systems are updated as quickly as possible. In addition to installing the security updates, the bulletins specify that enabling NLA on affected systems could be used to provide partial mitigation as this will require attackers to authenticate to RDP servers prior to being able to reach the exploitable condition.
Using Firepower to defend against encrypted DejaBlue
Like BlueKeep, protection for DejaBlue requires RDP decryption. The following is a guide on setting up RDP decryption with Cisco Firepower. Since DejaBlue targets newer versions of Windows, this guide specifically applies to Windows Server 2019. For older versions of Windows, refer to the guide we previously wrote for BlueKeep.
Note: This procedure requires an inline Firepower device that supports SSL decryption. For more information visit Cisco Next-Generation Intrusion Prevention System (NGIPS).
Steps for RDP Decryption:
1. Determine the certificate used by the RDP server.
In Windows Server 2019, RDP TLS certificates are configured in the Server Manager.
Click on “Remote Desktop Services” and then “Collections.” Click on “Tasks” in the upper right hand corner and then select “Edit Deployment Properties.”
Click “Certificates.”
Under “Certificates,” click on “View Details” under the Certificate Subject Name.
Note the certificate Thumbprint. This is the TLS certificate used in the RDP deployment.
2. Export the RDP certificate and private key:
Open “Run” and then type “certlm.msc.”
Locate the certificate that matches the thumbprint from Step 1.
Right click on the Certificate. Under “All Tasks” click on “Export…”
In the Export Wizard, click Next.
Click on “Yes, export the private key.”
Make sure “PKCS” is selected.
Click on “Password” and then enter a password to encrypt the private key.
Type in a file name for the PFX file and click “Next.”
Finally, click “Finish.”
You have successfully exported the RDP certificate and private key.
3. Configure Windows ciphersuites for Firepower.
Open Group Policy Management.
Right click on your organization’s group policy and click “Edit.”
Navigate to: Computer Configuration -> Policies -> Administrative Templates -> Network -> SSL Configuration Settings. Click on SSL Cipher Suite Order.
Set the option to “Enabled” and paste in a set of Ciphersuites Firepower supports for static key decryption:
TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA
Click OK. The RDP host should now be set up.
Now to prepare the RDP certificate and private key for the Firepower appliance.
4. Prepare the RDP certificate and private key for Firepower.
For this step, you will need the OpenSSL tool and the PFX file exported in Step 2 (rdp.pfx, in this example).
Extract the RDP certificate from the PFX file:
$ openssl pkcs12 -in rdp.pfx -clcerts -nokeys -out cert.pem Enter Import Password:
This command will ask for the import password — this is the password we typed in on Step 2.
Extract the RDP private key from the PFX file:
$ openssl pkcs12 -in rdp.pfx -nocerts -out key.pem Enter Import Password: Enter PEM pass phrase: Verifying – Enter PEM pass phrase:
The above command will ask for the import password again, as well as a PEM passphrase. Remember this private key passphrase, we will need it when we add the RDP certificate to Firepower.
5. Import the RDP key into Firepower.
At this point, you should have the RDP cert “cert.pem,” as well as the encrypted RDP private key “key.pem.”
Navigate to Objects -> Object Management.
Select “Add Internal Cert” on the top right.
Name the certificate (e.g. the server name) and either paste in “cert.pem” or browse to the “cert.pem” file in the “Certificate Data” section. Do the same for “key.pem” in the “Key” section. Click the “Encrypted” box and type in the PEM passphrase from Step 4.
You have successfully imported the RDP certificate and private key. Now to create a SSL policy for decryption.
6. Create an SSL Policy
Navigate to Policies -> SSL
Select “New Policy.”
Enter a policy name and description with default action “Do not decrypt.”
Once the policy editor has loaded, select “Add Rule” (top right).
Name the rule and give it the Action “Decrypt – Known Key”. Click the “with” field and select the certificate you imported earlier in Step 5.
If applicable, select Source and Destination networks or leave them as “any.”
Click on the “Ports” tab and input the TCP port 3389 (if appropriate for your environment) under “Selected Destination Ports” and click “Add.”
Under the “Logging” tab, enable logging at the end of the connection if desired.
Click “Add” and then “Save” to save the rule.
Additional SSL documentation is available here.
6. Enable the Intrusion Prevention Rule for DejaBlue.
Navigate to Policies -> Access Control -> Intrusion Prevention.
Edit the desired Intrusion Policy.
Filter for Snort ID 51369: “OS-WINDOWS Microsoft Windows RDP DecompressUnchopper integer overflow attempt.”
Click the checkbox and select Rule State -> Drop and Generate Events.
Click “Policy Information” and commit changes.
7. Configure the Access Control Policy
Navigate to Policies -> Access Control and edit the relevant Access Control Policy.
Under the “Advanced” tab, edit “SSL Policy Settings.”
Select the SSL Policy we created in Step 5 and click OK.
Ensure that your Intrusion Prevention Policy is selected under “Intrusion Policy used before Access Control rule is determined” within the “Network Analysis and Intrusion Policies” section of the “Advanced” tab.
Under the “Rules” tab of your Access Control Policy, ensure you have an appropriate Intrusion Policy set for any “Allow” rules.
If appropriate, enable the Intrusion Prevention Policy for your Default Action, as well.
Save and deploy changes. Verify RDP connectivity and functionality.
Firepower blocking the encrypted DejaBlue exploit:
Conclusion
Just as CISOs awaited the arrival of a dreaded BlueKeep worm, DejaBlue appeared on the scene to reset the clock. If exploited, an attacker could use DejaBlue to infect many machines quickly and spread malware. The WannaCry ransomware attack from 2017 is the most extreme example of how dangerous this could be. Using the steps outlined in this post, Cisco Firepower users can protect themselves from DejaBlue and BlueKeep.
Organizations need to take additional steps to ensure that services like RDP and SMB are not exposed unless explicitly required, but this does not eliminate the need for patching. This is yet another example of why patching is one of the core fundamental concepts in information security. Vulnerabilities this severe appear periodically, and organizations need to be prepared to respond in a variety of different ways. Patching takes time and making sure that you have detection and prevention in place can require varying levels of difficulty.
#gallery-0-5 { margin: auto; } #gallery-0-5 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 33%; } #gallery-0-5 img { border: 2px solid #cfcfcf; } #gallery-0-5 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */
Go to Source Author: The latest on BlueKeep and DejaBlue vulnerabilities — Using Firepower to defend against encrypted DejaBlue Original Post from Talos Security Author: Update (11/04/2019):There have been several public reports of active exploitation of…
0 notes
Text
Security flaws let anyone snoop on Guardzilla smart camera video recordings
A popular smart security system maker has ignored warnings from security researchers that its flagship device has several serious vulnerabilities, including allowing anyone access to the company’s central store of customer-uploaded video recordings.
The researchers at 0DayAllDay found that Guardzilla’s top-selling indoor wireless security system contains a set of hardcoded keys that can be easily extracted, because the device’s root password was protected using a decade-old algorithm that’s nowadays easily crackable. Each device uses the same set of keys to upload video recordings to the company’s Amazon Web Services’ storage servers. Anyone can use these keys to log in and gain full access to the company’s cloud storage — and customer data uploaded from the device.
But the storage servers remain vulnerable — even at the time of publication, TechCrunch can confirm — despite the researchers privately emailing the company detailing the vulnerabilities in September.
“We’ve tried several avenues to get in touch with Guardzilla, but they have not acknowledged the report,” said Tod Beardsley, Rapid7’s research director, who helped coordinate the release of the researchers’ findings.
The team of five researchers said in their report that it took two off-the-shelf consumer graphics cards just three hours to decrypt the eight-letter password protecting the affected Guardzilla device’s firmware that ships with each device. Because the keys were buried in the code, anyone with a Guardzilla device could obtain the keys and gain unfettered access to the company’s 13 storage buckets hosted on Amazon’s servers. The researchers tested the keys but did not use them to access the buckets, they said, to prevent unintentional access to Guardzilla customer data.
TechCrunch confirmed that the keys were still active and linked to the listed buckets as of Wednesday. (We could not verify the contents of the buckets as that would be unlawful.)
Hardcoding keys isn’t an uncommon practice in cheaply manufactured internet-connected devices, but is considered one of the worst security practices for a hardware maker to commit as it’s easy for a hacker to break into a central server storing user data. Hardcoding keys has become such an acute problem that a recently passed California law will soon ban consumer electronics using default and hardcoded credentials from 2020.
Fixing the vulnerability not only requires the keys to be changed on the server, but also a software patch to be rolled out on each affected device.
“They could update the keys and update the firmware, but that just means they’ll be rediscovered again by the same techniques,” said Beardsley. “The only way I can think of to fix this completely is to change the keys, stand up a proxying service and update the firmware to use this proxying service with unique-per-device accounts.”
“That’s a pretty significant change, but it’s just about only way to avoid this kind of problem,” he said.
Guardzilla were given three months to fix the security lapse and roll out new firmware to affected devices after the researchers privately reached out, but the company neither acknowledged or patched the issue, prompting the researchers to go public with their findings.
The researchers also also disclosed the vulnerabilities to Carnegie Mellon University’s public vulnerability database, CERT, which is set to issue an advisory Thursday, but received no response from the company.
TechCrunch sent several emails to Guardzilla prior to publication to no avail. After we contacted the company’s registered agent, a law firm in St. Louis, Missouri, chief executive Greg Siwak responded hours before publication, denying that the company received any correspondence. We asked several questions to clarify the company’s position, which we will include here if and when they come in. Siwak was adamant that the “accusations are false,” but did not say why.
When reached, former Guardzilla president Ted Siebenman told TechCrunch that he left the company in February but claimed he was “not aware” on the security issues in the device, including the use of hardcoded keys.
The security researchers found two more vulnerabilities — including several known bugs affecting the device’s continued use of a since-deprecated OpenSSL encryption library from more than two years ago. The researchers also disclosed in their write-up their discovery “large amounts” of traffic sent from an open port on the device to Guardzilla’s Amazon server, but could not explain why.
Guardzilla doesn’t say how many devices it’s sold or how many customers it has, but touts its hardware selling in several major U.S. retailers, including Amazon, Best Buy, Target, Walmart and Staples.
For now, you’re safest bet is to unplug your Guardzilla from the wall and stop using it.
Cybersecurity 101: Five simple security guides for protecting your privacy
Security flaws let anyone snoop on Guardzilla smart camera video recordings published first on https://timloewe.tumblr.com/
0 notes
Text
Security flaws let anyone snoop on Guardzilla smart camera video recordings
A popular smart security system maker has ignored warnings from security researchers that its flagship device has several serious vulnerabilities, including allowing anyone access to the company’s central store of customer-uploaded video recordings.
The researchers found that Guardzilla’s top-selling indoor wireless security system contains a set of hardcoded keys, which can be easily extracted because the device’s root password was protected using a decade-old algorithm that’s nowadays easily crackable. Each device uses the same set of keys to upload video recordings to the company’s Amazon Web Services’ storage servers. Anyone can use those keys to log in and gain full access to the company’s cloud storage — and customer data uploaded from the device.
But the storage servers remain vulnerable — even at the time of publication, TechCrunch can confirm — despite the researchers privately emailing the company detailing the vulnerabilities in September.
“We’ve tried several avenues to get in touch with Guardzilla, but they have not acknowledged the report,” said Tod Beardsley, Rapid7’s research director, who helped coordinate the release of the researchers’ findings.
The team of five researchers said in their report that it took two off-the-shelf consumer graphics cards just three hours to decrypt the eight-letter password protecting the affected Guardzilla device’s firmware that ships with each device. Because the keys were buried in the code, anyone with a Guardzilla device could obtain the keys and gain unfettered access to the company’s 13 storage buckets hosted on Amazon’s servers. The researchers tested the keys but did not use them to access the buckets, they said, to prevent unintentional access to Guardzilla customer data.
TechCrunch confirmed that the keys were still active and linked to the listed buckets as of Wednesday. (We could not verify the contents of the buckets as that would be unlawful.)
Hardcoding keys isn’t an uncommon practice in cheaply manufactured internet-connected devices, but is considered one of the worst security practices for a hardware maker to commit as it’s easy for a hacker to break into a central server storing user data. Hardcoding keys has become such an acute problem that a recently passed California law will soon ban consumer electronics using default and hardcoded credentials from 2020.
Fixing the vulnerability not only requires the keys to be changed on the server, but also a software patch to be rolled out on each affected device.
“They could update the keys and update the firmware, but that just means they’ll be rediscovered again by the same techniques,” said Beardsley. “The only way I can think of to fix this completely is to change the keys, stand up a proxying service and update the firmware to use this proxying service with unique-per-device accounts.”
“That’s a pretty significant change, but it’s just about only way to avoid this kind of problem,” he said.
Guardzilla were given three months to fix the security lapse and roll out new firmware to affected devices after the researchers privately reached out, but the company neither acknowledged or patched the issue, prompting the researchers to go public with their findings.
The researchers also also disclosed the vulnerabilities to Carnegie Mellon University’s public vulnerability database, CERT, which is set to issue an advisory Thursday, but received no response from the company.
TechCrunch sent several emails to Guardzilla prior to publication to no avail. After we contacted the company’s registered agent, a law firm in St. Louis, Missouri, chief executive Greg Siwak responded hours before publication, denying that the company received any correspondence. We asked several questions to clarify the company’s position, which we will include here if and when they come in. Siwak was adamant that the “accusations are false,” but did not say why.
When reached, former Guardzilla president Ted Siebenman told TechCrunch that he left the company in February but claimed he was “not aware” on the security issues in the device, including the use of hardcoded keys.
The security researchers found two more vulnerabilities — including several known bugs affecting the device’s continued use of a since-deprecated OpenSSL encryption library from more than two years ago. The researchers also disclosed in their write-up their discovery “large amounts” of traffic sent from an open port on the device to Guardzilla’s Amazon server, but could not explain why.
Guardzilla doesn’t say how many devices it’s sold or how many customers it has, but touts its hardware selling in several major U.S. retailers, including Amazon, Best Buy, Target, Walmart and Staples.
For now, you’re safest bet is to unplug your Guardzilla from the wall and stop using it.
Cybersecurity 101: Five simple security guides for protecting your privacy
Via Zack Whittaker https://techcrunch.com
0 notes
Text
Popular encryption software Research help close...
Cybersecurity researchers at the Georgia Institute of Technology have helped close a security vulnerability that could have allowed hackers to steal encryption keys from a popular security package by briefly listening in on unintended "side channel" signals from smartphones. The attack, which was reported to software developers before it was publicized, took advantage of programming that was, ironically, designed to provide better security. The attack used intercepted electromagnetic signals from the phones that could have been analyzed using a small portable device costing less than a thousand dollars. Unlike earlier intercept attempts that required analyzing many logins, the "One & Done" attack was carried out by eavesdropping on just one decryption cycle. "This is something that could be done at an airport to steal people's information without arousing suspicion and makes the so-called 'coffee shop attack' much more realistic," said Milos Prvulovic, associate chair of Georgia Tech's School of Computer Science. "The designers of encryption software now have another issue that they need to take into account because continuous snooping over long periods of time would no longer be required to steal this information." The side channel attack is believed to be the first to retrieve the secret exponent of an encryption key in a modern version of OpenSSL without relying on the cache organization and/or timing. OpenSSL is a popular encryption program used for secure interactions on websites and for signature authentication. The attack showed that a single recording of a cryptography key trace was sufficient to break 2048 bits of a private RSA key. Results of the research, which was supported in part by the National Science Foundation, the Defense Advanced Research Projects Agency (DARPA), and the Air Force Research Laboratory (AFRL) will be presented at the 27th USENIX Security Symposium August 16th in Baltimore. After successfully attacking the phones and an embedded system board -- which all used ARM processors -- the researchers proposed a fix for the vulnerability, which was adopted in versions of the software made available in May. Side channel attacks extract sensitive information from signals created by electronic activity within computing devices during normal operation. The signals include electromagnetic emanations created by current flows within the devices computational and power-delivery circuitry, variation in power consumption, and also sound, temperature and chassis potential variation. These emanations are very different from communications signals the devices are designed to produce. In their demonstration, Prvulovic and collaborator Alenka Zajic listened in on two different Android phones using probes located near, but not touching the devices. In a real attack, signals could be received from phones or other mobile devices by antennas located beneath tables or hidden in nearby furniture. The "One & Done" attack analyzed signals in a relatively narrow (40 MHz wide) band around the phones' processor clock frequencies, which are close to 1 GHz (1,000 MHz). The researchers took advantage of a uniformity in programming that had been designed to overcome earlier vulnerabilities involving variations in how the programs operate. "Any variation is essentially leaking information about what the program is doing, but the constancy allowed us to pinpoint where we needed to look," said Prvulovic. "Once we got the attack to work, we were able to suggest a fix for it fairly quickly. Programmers need to understand that portions of the code that are working on secret bits need to be written in a very particular way to avoid having them leak." The researchers are now looking at other software that may have similar vulnerabilities, and expect to develop a program that would allow automated analysis of security vulnerabilities. "Our goal is to automate this process so it can be used on any code," said Zajic, an associate professor in Georgia Tech's School of Electrical and Computer Engineering. "We'd like to be able to identify portions of code that could be leaky and require a fix. Right now, finding these portions requires considerable expertise and manual examination." Side channel attacks are still relatively rare, but Prvulovic says the success of "One & Done" demonstrates an unexpected vulnerability. The availability of low-cost signal processing devices small enough to use in coffee shops or airports could make the attacks more practical. "We now have relatively cheap and compact devices -- smaller than a USB drive -- that are capable of analyzing these signals," said Prvulovic. "Ten years ago, the analysis of this signal would have taken days. Now it takes just seconds, and can be done anywhere -- not just in a lab setting." Producers of mobile devices are becoming more aware of the need to protect electromagnetic signals of phones, tablets and laptops from interception by shielding their side channel emissions. Improving the software running on the devices is also important, but Prvulovic suggests that users of mobile devices must also play a security role. "This is something that needs to be addressed at all levels," he said. "A combination of factors -- better hardware, better software and cautious computer hygiene -- make you safer. You should not be paranoid about using your devices in public locations, but you should be cautious about accessing banking systems or plugging your device into unprotected USB chargers." In addition to those already mentioned, the research involved Monjur M. Alam, Haider A. Khan, Moutmita Dey, Nishith Sinha and Robert Callen, all of Georgia Tech. This work has been supported, in part, by the National Science Foundation under grant 1563991 and by the Air Force Research Laboratory and DARPA LADS under contract FA8650-16-C-7620. The views and findings in this paper are those of the authors and do not necessarily reflect the official views of NSF, DARPA or the AFRL. Credit: Georgia Tech, science daily.
0 notes
Text
Social Network Integration on Android
Many mobile apps require a user to create an account or to sign up for a service in order to use them. From a user’s point of view, this can be somewhat troublesome or annoying, and it’s not always the best user experience.
So how can you overcome this when building your app? To give users a seamless experience, you can give them the ability to sign in to your app with just a single tap of a button, using one of their social networking accounts, e.g., Facebook or Twitter.
In this tutorial, you’ll learn how to integrate a user’s Facebook and Twitter accounts into your Android app to allow them to log in and also share posts from your app into their social networking account.
Getting Started
Use the Download Materials link at the top or bottom of this tutorial to download and extract the Starter Project for this tutorial.
Next, open Android Studio 3.1.3 or later, and choose Open an existing Android Studio project from the welcome screen or File > Open form the menu. Open the folder root folder of the Sharetastic starter project.
You’ll be working on an app called Sharetastic, which allows a user to share a status update to Facebook or a tweet to Twitter.
Build and run the project and you’ll see the login screen for the app:
As of now, the app does nothing. In this tutorial, you’ll go through it step-by-step and complete the social network integration.
Connecting With Facebook
To connect your app to Facebook, you’ll need an active Facebook account with which you’ll create an app to get a Facebook App ID.
Creating a Facebook App ID on Developers Portal & Setting Up
Go to the Facebook Developers Portal (log in with your Facebook account if needed).
On this page, you’ll see an option to Add a New App. Click the button and you’ll then need to create a Facebook App ID if you haven’t already:
Enter Sharetastic in the Display Name field and enter your email address in the Contact Email field, then click Create App ID. Facebook will prompt you with a captcha dialog; complete the request and click Submit.
Facebook will then direct you to another page:
Click on Set Up on the Facebook Login component. Then, from the new page containing the platform options, select Android.
You’ll then see the following page with the steps to build your Android project:
At this point, you will skip steps 1 and 2 because they have already been completed for you in the starter project. Even so, it’s good to know what they are:
Step 1 includes downloading the Facebook SDK, and Step 2 tells you how to import it into the project. Here, Gradle will be used to sync the Facebook SDK rather than manually downloading the SDK, which you can see in the app module build.gradle file:
implementation 'com.facebook.android:facebook-login:[4,5)'
In Step 3, you’ll add your Package name com.raywenderlich.sharetastic and default Activity name com.raywenderlich.sharetastic.MainActivity.
Click on Save and then Continue (you may need to also confirm that your app is not yet in the Play Store).
For Step 4, you need to create a Development Key Hash and also a Release Key Hash if your app is live. A key hash is a 28-character-long string, which Facebook uses to verify the communication between your app and Facebook.
A key hash can be generated by typing the following command in the terminal:
For Mac and Linux:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
For Windows:
Things are not that simple here. First, you need to have keytool from the JDK, Secondly, get the openssl library here.
keytool -exportcert -alias androiddebugkey -keystore "C:\Users\USERNAME\.android\debug.keystore" | "PATH_TO_OPENSSL_LIBRARY\bin\openssl" sha1 -binary | "PATH_TO_OPENSSL_LIBRARY\bin\openssl" base64
Finally, after generating your Key Hash, paste it in the section provided in the fourth step.
Click Save then Continue.
For Step 5 on Single Sign On, if you’re working on a different app that is using notifications, you want want to set it to Yes, but, for now, leave it set to No and click on Save, then Next.
Now, for Step 6, open up strings.xml in the app/res/values folder, and paste the following after updating the placeholders with the values provided by Facebook:
<string name="facebook_app_id">Your-App-ID</string> <string name="fb_login_protocol_scheme">fbYour-App-ID</string>
Then, open AndroidManifest.xml and add the permission for accessing the Internet:
<uses-permission android:name="android.permission.INTERNET"/>
Additionally, under the application tag, paste the needed Facebook meta-data and activities:
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> <activity android:name="com.facebook.FacebookActivity" android:configChanges= "keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="@string/app_name" /> <activity android:name="com.facebook.CustomTabActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="@string/fb_login_protocol_scheme" /> </intent-filter> </activity>
Finally, you’re done setting things up from the Facebook developer console! The remaining steps you’ll need to login are handled in the next section.
Now it’s time move on to writing some code.
Log in With Facebook
Open up the main layout file activity_main.xml and add a Facebook login button below the TextView:
<com.facebook.login.widget.LoginButton android:id="@+id/facebookLoginButton" android:layout_width="wrap_content" android:layout_height="47dp" android:paddingBottom="15dp" android:paddingStart="10dp" android:paddingEnd="5dp" android:paddingTop="15dp" android:textSize="16sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.58" />
In MainActivity, create the following constants at the top of the class:
val EMAIL = "email" val PUBLIC_PROFILE = "public_profile" val USER_PERMISSION = "user_friends"
Inside the empty method facebookSetup(), add the following code:
callbackManager = CallbackManager.Factory.create() facebookLoginButton.setOnClickListener { facebookLoginButton.setReadPermissions(Arrays.asList(EMAIL, PUBLIC_PROFILE, USER_PERMISSION)) facebookLoginButton.registerCallback(callbackManager, object : FacebookCallback<LoginResult> { override fun onSuccess(loginResult: LoginResult) { } override fun onCancel() { } override fun onError(exception: FacebookException) { Toast.makeText(context,exception.localizedMessage, Toast.LENGTH_SHORT).show() } }) }
This code first initializes the CallbackManager Facebook property that was declared but uninitialized in the starter project. It then adds a click listener for the Facebook login button. Inside the click listener, it provides the permissions needed to read the email, public profile and friends of the user. It also logs in the user by returning the AccessToken.
Then in onActivityResult(), pass the result onto the CallbackManager:
callbackManager.onActivityResult(requestCode, resultCode, data)
In the onSuccess of the callback, you’ll get the user’s profile by using Facebook’s Graph API. You’ll then send the user to the Share screen. First, we need to talk to the Graph API.
User Profile from the Graph API
You’ll now create a Kotlin object, whose sole purpose will be to contain the helper methods to connect to the Graph API.
Create an object called Helper in a new package com.raywenderlich.sharetastic.util.
Once created, write the method getFacebookUserProfileWithGraphApi() inside of it:
object Helper { fun getFacebookUserProfileWithGraphApi(context: Context) { if (AccessToken.getCurrentAccessToken() != null){ val activity = context as Activity val request = GraphRequest.newMeRequest( AccessToken.getCurrentAccessToken() ) { jsonObject, _ -> val email = jsonObject?.get("email")?.toString() ?: "" val name = jsonObject.get("name").toString() val profileObjectImage = jsonObject?.getJSONObject("picture")?.getJSONObject("data")?.get("url").toString() } val parameters = Bundle() parameters.putString("fields", "id,name,link,picture.type(large), email") request.parameters = parameters request.executeAsync() } } }
This method uses a call to GraphRequest.newMeRequest() to fetch the userid, name, picture and email of the user who is currently logged in.
To keep things clean, create a package com.raywenderlich.sharetastic.model and create a class in the package called UserModel to contain the user’s data after the Graph API returns the results.
Your UserModel class would look something like this:
class UserModel(val name: String, val userName: String, val profilePictureUrl: String, val socialNetwork: SocialNetwork) : Serializable enum class SocialNetwork { Facebook, Twitter }
I have created the enum class SocialNetwork in the same class; you could create a separate file for that if you wish. The enum class is only for identifying which social network account the user is currently logged in with.
Head back to Helper where you’ll now write the method that will help in sending the user to the Share screen.
fun startShareActivity(context: Context, user: UserModel) { val activity = context as Activity val intent = Intent(context, ShareActivity::class.java) intent.putExtra("user", user) activity.startActivity(intent) activity.finish() }
This code takes the passed-in UserModel and sends it to the ShareActivity.
Go back to the method getFacebookUserProfileWithGraphApi() and after the line:
val profileObjectImage = jsonObject?.getJSONObject("picture")?.getJSONObject("data")?.get("url").toString() ?: ""
add the following:
val user = UserModel(name, email, profileObjectImage, SocialNetwork.Facebook) startShareActivity(context, user)
These lines convert the user’s info to a UserModel and pass it into the method startShareActivity().
After completing that, go back to MainActivity. In the onSuccess inside of facebookSetup(), write:
Helper.getFacebookUserProfileWithGraphApi(context)
The user should only be sent to the Share screen when the user has a valid AccessToken, and this can happen only in the onSuccess block of code.
Additionally, you need to set up a few things in the ShareActivity.
Create a UserModel property in the class:
lateinit var user: UserModel
And inside onCreate(), add:
user = intent.extras.get("user") as UserModel setData(user)
This piece of code is getting the passed in UserModel from the Intent method and passing the data to a new method setData().
The setData() method simply sets up the data in the UI, and includes conditionals that take slightly different actions depending on whether the logged in network is Facebook or Twitter.
fun setData(user: UserModel) { nameTextView.text = user.name userNameTextView.text = if (user.socialNetwork == SocialNetwork.Twitter) "@${user.userName}" else user.userName connectedWithTextView.text = if (user.socialNetwork == SocialNetwork.Twitter) "${connectedWithTextView.text} Twitter" else "${connectedWithTextView.text} Facebook" characterLimitTextView.visibility = if (user.socialNetwork == SocialNetwork.Twitter) View.VISIBLE else View.GONE postButton.text = if (user.socialNetwork == SocialNetwork.Twitter) "POST" else "CREATE POST" Picasso.with(this).load(user.profilePictureUrl).placeholder(R.drawable.ic_user).into(profileImageView) postEditText.visibility = View.GONE }
Now, run your app then tap on Continue with Facebook. You’ll be asked to give your app the permission to access the information. After this step, you’ll be redirected to the following screen:
You’ve successfully logged in!
Sharing on Facebook
It’s time to move on to posting a status to Facebook. For this, you need to change a few things.
Facebook recently changed its documentation and has removed the permission that was once required for the using the Graph API to share something on a user’s timeline. The alternative for that is now using the Facebook Share SDK.
Open the app build.gradle file, and add the following dependency in it:
implementation 'com.facebook.android:facebook-share:[4,5)'
Additionally, in your AndroiManifest.xml add the following line within the application tag:
<provider android:authorities="com.facebook.app.FacebookContentProvider{@string/facebook_app_id}" android:name="com.facebook.FacebookContentProvider" android:exported="true"/>
Now, open the ShareActivity class and write the method for posting status to Facebook:
fun postStatusToFacebook() { val builder = AlertDialog.Builder(this) builder.setTitle("Share Link") val input = EditText(this@ShareActivity) val lp = LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT) input.layoutParams = lp builder.setView(input) builder.setPositiveButton(android.R.string.ok) { dialog, p1 -> val link = input.text var isValid = true if (link.isBlank()) { isValid = false } if (isValid) { val content = ShareLinkContent.Builder() .setContentUrl(Uri.parse(link.toString())) .build() ShareDialog.show(this, content) } dialog.dismiss() } builder.setNegativeButton(android.R.string.cancel) { dialog, p1 -> dialog.cancel() } builder.show() }
This code will present an alert dialog to allow the user to enter a link to share, and then show the user the Facebook share dialog. We’re not doing any validation on the link other than to check that it’s not blank; you’d want to do some validation to make sure it’s a valid URL.
In later versions of the Facebook Share SDK, including the one you’re using in Sharetastic, you must provide some type of content to share. Your options are links, photos, videos, and other multimedia. See the Facebook Share SDK documentation for more details.
Next, in the postButtonAction() method, inside the setOnClickListener, add a call to the new function:
postStatusToFacebook()
Build and run the app again. You’ll need to tap logout on the Facebook button and re-connect. In a production app, you’ll want to saved the logged in state of the user so that they don’t have to log in again.
Click on CREATE POST. Now, try posting something to Facebook:
After pressing POST, go and check the Facebook app.
Hurray! Your status is posted to Facebook.
Logging Out of Facebook
Logging out is simply a one-line code, but, for logging out, you need to perform two additional tasks. You’ll now write a method in your ShareActivity that’ll do these tasks:
fun sendToMainActivity() { LoginManager.getInstance().logOut() finish() val intent = Intent(this, MainActivity::class.java) startActivity(intent) }
Going over the above: the first line of code allows a user to log out of Facebook. The rest of the lines finish the current activity and take a user to MainActivity. Finally, call this method inside the onOptionsItemSelected like this:
R.id.action_logout -> { sendToMainActivity() return true }
Once you tap the Logout button on top-right of the Share screen, you’ll be logged out from the app and taken to the Home screen.
Now, let’s connect the app with Twitter.
Connecting With Twitter
Like Facebook, you need a working Twitter account in order to integrate Twitter into your app, Twitter provides a Consumer Key and Consumer Secret for communication.
Creating a Twitter App on Developer Portal
Login to Twitter in a browser and head to Twitter’s Application Management Portal and click on Create New App.
Complete the necessary fields with the appropriate information (you’ll need to use a unique name like Sharetastic + your initials, and you also must provide a Privacy Policy URL and Terms of Service URL in order to follow along, but these can be placeholders like example.com) then click Create your Twitter application.
You’ll be taken to the following page:
I had to name the app Share-tastic because Sharetastic wasn’t available. :]
Copy the Consumer Key and Consumer Secret from the Keys and Access Tokens tab and paste them into the strings.xml with the names Twitter_CONSUMER_KEY and Twitter_CONSUMER_SECRET, respectively.
Then click on the Permissions tab.
If you want to get user’s email at the time of login, you have to check the option that says Request email addresses from users then click on Update Settings.
Setting Up
After finishing the creation of the app on the Twitter developer portal, you’ll now move on and add the Twitter Kit dependency.
Adding Twitter Kit Dependency
Note: This step can be skipped because it’s already done in the Starter Project
There are many dependencies provided by Twitter like Twitter Core, Tweet UI, Tweet Composer, and Twitter Mopub. For now, stick with Twitter Core because that’s the only dependency you need for this tutorial.
implementation 'com.twitter.sdk.android:twitter-core:3.1.1'
Paste the above dependency in the app build.gradle file and let the project sync.
Initializing Twitter Kit
Create a CustomApplication class extending from Application under a new package root. Override the onCreate() of the Application class as follows:
class CustomApplication : Application() { override fun onCreate() { super.onCreate() val config = TwitterConfig.Builder(this) .logger(DefaultLogger(Log.DEBUG)) .twitterAuthConfig(TwitterAuthConfig( resources.getString(R.string.Twitter_CONSUMER_KEY), resources.getString(R.string.Twitter_CONSUMER_SECRET))) .debug(true) .build() Twitter.initialize(config) } }
Then open AndroidManifest.xml and inside the tag application, paste the following snippet.
android:name=”com.raywenderlich.sharetastic.root.CustomApplication”
You are done setting up now and are ready to dive into writing some Twitter code!
Log in With Twitter
Add a Twitter login button to activity_main.xml:
<com.twitter.sdk.android.core.identity.TwitterLoginButton android:id="@+id/twitterLoginButton" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/facebookLoginButton" app:layout_constraintVertical_bias="0.1" />
Open MainActivity and inside the twitterSetup() method, add the following:
twitterLoginButton.callback = object : Callback<TwitterSession>() { override fun success(result: Result<TwitterSession>) { } override fun failure(exception: TwitterException) { Toast.makeText(context,exception.localizedMessage, Toast.LENGTH_SHORT).show() } }
And in the onActivityResult() method, add the following line:
twitterLoginButton.onActivityResult(requestCode, resultCode, data)
Like the method you wrote that fetches the user info after Facebook’s login is complete, you need to write a similar method for Twitter that gets the user’s info at login.
Open the Helper file and write the following method:
fun getTwitterUserProfileWthTwitterCoreApi( context: Context, session: TwitterSession) { TwitterCore.getInstance().getApiClient(session).accountService .verifyCredentials(true, true, false) .enqueue(object : Callback<User>() { override fun success(result: Result<User>) { val name = result.data.name val userName = result.data.screenName val profileImageUrl = result.data.profileImageUrl.replace("_normal", "") val user = UserModel(name, userName, profileImageUrl, SocialNetwork.Twitter) startShareActivity(context, user) } override fun failure(exception: TwitterException) { Toast.makeText(context, exception.localizedMessage, Toast.LENGTH_SHORT).show() } }) }
You’re using TwitterCore to authenticate the user and then going to the share screen on a successful authentication.
Next, open MainActivity and in the success part of the twitterLoginButton callback, add:
Helper.getTwitterUserProfileWthTwitterCoreApi(context, result.data)
Now, build and run your project and tap on Log in with Twitter. You’ll need to be running Sharetastic on a device or emulator that has the Twitter app installed and in which you are logged in.
You’ll be shown a screen to accept connecting your Twitter account to Sharetastic, and after you allow it, you’ll successfully log in and be taken to the Share screen.
A Tweet for the Tweeps
Before posting a tweet, make the app a little more interactive by placing the Twitter’s character limit — i.e., 240 — and change the TextView count placed on the top right with respect to the number of characters written in the posting TextView.
Write a method onTextChangeListener inside ShareActivity:
fun onTextChangeListener() { postEditText.addTextChangedListener(object : TextWatcher { override fun afterTextChanged(s: Editable) { characterLimitTextView.text = "${s.length}/240" } override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) { } override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) { } }) }
This code is handling the character count change logic at runtime.
Furthermore, change the setData() method of ShareActivity by replacing the line that sets the postEditText to be GONE with the following code:
if (user.socialNetwork == SocialNetwork.Twitter) { postEditText.filters = arrayOf<InputFilter>(InputFilter.LengthFilter(240)) onTextChangeListener() } else { postEditText.visibility = View.GONE }
Here, a character limit is applied on the TextView to stop a user from writing more than 240 characters.
Now, move on to posting a tweet. For that, you’ll write another method:
fun postATweet(message: String) { val statusesService = TwitterCore.getInstance().apiClient.statusesService val context = this statusesService.update(message, null, null, null, null, null, null, null, null) .enqueue(object : Callback<Tweet>() { override fun success(result: Result<Tweet>) { Toast.makeText(context,R.string.tweet_posted,Toast.LENGTH_SHORT).show() } override fun failure(exception: TwitterException) { Toast.makeText(context,exception.localizedMessage,Toast.LENGTH_SHORT).show() } }) postEditText.setText("") }
Finally, you need to tweak the postButtonAction() method a little bit:
fun postButtonAction() { postButton.setOnClickListener { view -> if (postEditText.text.toString().isBlank() && user.socialNetwork == SocialNetwork.Twitter) { Toast.makeText(this, R.string.cannot_be_empty, Toast.LENGTH_SHORT).show() } else if (user.socialNetwork == SocialNetwork.Facebook) { postStatusToFacebook() } else { postATweet(postEditText.text.toString()) } } }
Now the time has come in which you post your first tweet!
Build and run the app again. Like before, since you’re not saving the authenticated state of the user, you’ll need to login to Twitter again.
After logging in write, say, Hello Twitter from Sharetastic!
Then tap on POST and open the Twitter app.
You can finally see your tweet.
Feels good, doesn’t it?
Logging Out of Twitter
Like Facebook, logging out is pretty simple. All you have to do is change the method sendToMainActivity() in ShareActivity to the following:
if (user.socialNetwork == SocialNetwork.Facebook) { LoginManager.getInstance().logOut() } else { TwitterCore.getInstance().sessionManager.clearActiveSession() } finish() val intent = Intent(this, MainActivity::class.java) startActivity(intent)
The only change here is that the Twitter session is being cleared.
Once you run the app again, you’ll be able to log out from Twitter as well. :]
Where to Go From Here?
The Final Project for this tutorial can be found in the Download Materials link at the top or bottom of this tutorial. If you try to build the final project, please be sure to add in your own Facebook and Twitter app ID’s and keys.
You now know how to authenticate a user into Facebook and Twitter, post content to each, and log a user out of each.
As was mentioned in the tutorial, in your app you’re going to want to persist the state of the logged in user, so that the user does not have to log in to Facebook or Twitter every time the app runs. Try saving the user state as a challenge, once you’ve worked your way through the tutorial. If the user is logged in, take them right to the share screen.
If you want to explore more about the Facebook SDK and TwitterKit, visit the resources below:
Getting Started with Android Facebook SDK
Twitter Kit for Android
If you have any questions or comments, please let us know in the discussion below!
The post Social Network Integration on Android appeared first on Ray Wenderlich.
Social Network Integration on Android published first on https://medium.com/@koresol
0 notes
Photo

New Post has been published on https://punjabassignmenthelp.com/csc8419-cryptography-security/
CSC8419 | CRYPTOGRAPHY AND SECURITY
CSC8419 | CRYPTOGRAPHY AND SECURITY |INFORMATION TECHNOLOGY
IT Assignment Help
Essential information
The topics in the following list provide important information that will assist you with
your study. You can access the information on your StudyDesk through the ‘Essential
information (study materials)’
You will need your UConnect username and password to access the file. Please make sure
you read this information carefully before commencing your study.
Cryptography and security
Introduction
Welcome to this course Cryptography and Security. This course will give you a broad introduction to cryptography and its application to computer-network security services and mechanisms, such as confidentiality, digital signature, access control, and electronic payments. It also covers Analysis of software and hardware implementations of cryptographic algorithms and network-security protocols.
This course will enhance your theoretical and practical skills in understanding the cryptography and security terminologies and development techniques. You will be given the opportunity to study the methodologies for applying these fundamental concepts through the project with programming language.
The purpose of this course is to familiarize you with the technology of the security software development process and introduce you to apply the cryptography techniques for building real-world secure software systems.
Format of the course
The course consists of the lecture, several laboratory classes, and a semester long project. The lecture gives a broad overview of the subject. The project enables a more in-depth study of the selected sub-area. It involves software, hardware, or mixed implementation of cryptographic transformations. The laboratory classes make the student acquainted with practical features of selected commercial and public domain implementations of Internet security services.
Course team
Examiner: Z. Zhang
Moderator: R. Addie
Course overview
There are five study modules. Each module provides learning objectives, followed by sections for further discussion or presentation on each topic/item. At the end of each module there is a list of online reading references.
This is a PG level course, covering most advanced technologies/material in the selected areas. The main study resources will be the textbook and online readings listed at the end of each module in addition to the lecture slides/powerpoint presentations to be included in the course home page. External students need to have Internet access in order to read the online papers/articles and to do the assignments/projects.
CSC8419 – Cryptography and security 3
How to study this course
The purpose of the study modules is to outline the concepts/technologies to be covered. In order to fully understand this material, you will need to read the textbook and the corresponding readings listed at the end of each module.
The study modules have the following goals:
to summarize concepts or techniques;
to clarify certain points and concepts;
to point you to the right references for particular technologies/concepts. Approach the material as follows:
Step 1— Read the appropriate chapters of text and sections of the study modules, updated lecture slides (to be provided on line) and online references.
Step 2 — Perform the exercises/assignments. Do not wait untail the assignment due dates. The project need to be planned/started from the very beginning and they will take a few months to finish.
Study materials
This Introductory materials
The study modules
Online reading materials
Updated Lecture slide online
Software and laboratory requirements
Students will need OpenSSL and GPG installed on the Linux or Pretty Good Privacy (PGP) software on the Windows based systems in order to complete the secure communications exercises.
References
Pfleeger, “Security in Computing”, 3e, Prentice-Hall, 2003
J. Denning (ed), “Computers Under Attack — Intruders, Worms, and Viruses”, Addition-Wesley, 1990
CSC8419 – Cryptography and security
Course home page
You will find a web page for this course from your StudyDesk at:
The course home page is your primary resort of getting support for this course. On the course webpage, there are you will find
course materials and resources
electronic discussion facilities or forums
access to past examination papers if appropriate
There are an online assignment submission system on the course webpage. You will find that it is very convenient and secure to make submission of your all assessment items including assignments and/or final project report.
CSC8419 – Cryptography and security 5
Study schedule
Week Module Activity/Reading Assessment 1 Module 1:Security and its history 2, 3,4 Module 2: Foundations of Computer Security Reminder: End of week 4 is the last date to drop S1 courses without academic or financial penalty. 5 Module 3: Identification and Authentication 6,7 Module 4: Access control 8 Module 5: Security Models Reminder: End of week 4 is the last date to drop S1 courses without academic penalty. 9,10 Module 6: Cryptography 11,12, Module 7: Key Establishment 13 and Management
CSC8419 – Cryptography and security 7
Assessment
The course will be assessed as follows:
Assessment Weighting (%) Due Date 1 16 April 05, 2017 2 24 May 10, 2017 3 60 June 14, 2017
All assignments are a compulsory part of the assessment.
CSC8419 – Cryptography and security
Assignment 1 (16 marks)
Instructions
The submission file must be in the format of PDF.
Submission of the PDF file must be made via the online submission system on the course webpage.
Task 1 (3 marks)
What is the C.I.A.of security? Use examples to contrast security threats and attacks?
Task 2 (3 marks)
List 5 general design decisions that have to be made when constructing secure systems..
Task 3 (8 marks)
The smallest possible value for the modulus n for which the RSA algorithm works are p=11, q=3 . Use the most simplest example of RSA to do encryption. We would let
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Thus the plaintext message “HELLOWORD” would be represented by the set of integers
9,6,13,13,16,24,16,19,13,5 . Using the table above, please find ciphertext integers. Task 4 (2 marks)
Select a topic from the following list for your assignment 3, which is a reading research project. Write an objective of this reading research project (not more than 30 words)
Compare and Contrast the OpenSSL and GNU OpenGPG.
Understanding the Kerberos System and its Authentication Protocols
Generating Digital Certificates using OpenSSL
On the security and authentication of Web sites
CSC8419 – Cryptography and security 9
Assignment 2 (24 marks)
Instruction:
Submission file must be in PDF format, and all the steps of generating the required must be given in your assignment, including the OpenSSL commands or command lines.
The secret key must be included in your submission.
All information about your CSR and the certificate (Subject Name, Issuer Name, Signature Algorithm and Validate Period and Public Key) must be list out in your submission.
Task 1 ( 7 marks)
Use OpenSSL toolkit to generate your RSA key pairs: private key and a public key. Store your private key safe and email your public key to the lecturer. (The public key must be in the format of PEM; and the public key must be in the attachment, Subject of your email must be something like CSC8418 Ass2 00611111 – Public Key )
Task 2 (7 marks)
Download a cipher document and a cipher secret, which will be available on the course webpage. Then decrypt the cipher secret to obtain a secret key, and use the secret key to decrypt the cipher document. ( The secret key has been encrypted using your public key while the encrypted document has been encrypted by use of the secret key)
Task 3 (7 marks)
Generate a Certificate Sign Request (CSR), email it to the lecturer. Then download the certificate issued by the lecturer from the course webpage . (Information of the certificate such as Subject Name, Issuer Name, Signature Algorithm and Validate Period and Public Key can be extract out from the certificate)
Task 4 (3 marks)
Based on the topic you have chosen in Ass 1, write a scientific report of 2-3 pages. You need to find at least relevant articles from Books, Journals in the Library, or articles on the Internet to read, then summarise and write a concise report in your own words. In this draft version, you may only write all the statement sentences in each section.
A scientific report usually cover the following sections:
Abstract
Introduction
…Sections relevant to your
Conclusion
References
CSC8419 – Cryptography and security
Assignment 3 (60 marks)
Instructions:
Submission must be in the format of PDF, and be made via the online submission system.
The final report is an expanded version of your report in assignment 2. The final report must be 10-15 pages in length. The whole structure may not be too much different or slightly changed, but the contents must contain much more information and/or knowledge related with your selected topic.
The assignment will assess your research skill. You should develop a deep understanding through extensive reading, and then be able to formulate your own view on the topic and organize your presentation in a logical way.
Marking criteria for assignment 3:
Criteria Marks/100 Extensive Readings & Literature reviews. 50–64 A deep understanding shown in the report in 65–74 addition to requirements for ‘C’. Having a logical and clear presentation, in 75–84 addition to the requirements for ‘B’. All the requirements of ‘A’ with additional 85–100 originality & innovation.
Punjab Assignment Help
Buy Online Assignment Help services for IT Assignments with Punjab Assignment Help at [email protected]
0 notes
Photo

New Post has been published on https://punjabassignmenthelp.com/csc8419-cryptography-security/
CSC8419 | CRYPTOGRAPHY AND SECURITY
CSC8419 | CRYPTOGRAPHY AND SECURITY |INFORMATION TECHNOLOGY
IT Assignment Help
Essential information
The topics in the following list provide important information that will assist you with
your study. You can access the information on your StudyDesk through the ‘Essential
information (study materials)’
You will need your UConnect username and password to access the file. Please make sure
you read this information carefully before commencing your study.
Cryptography and security
Introduction
Welcome to this course Cryptography and Security. This course will give you a broad introduction to cryptography and its application to computer-network security services and mechanisms, such as confidentiality, digital signature, access control, and electronic payments. It also covers Analysis of software and hardware implementations of cryptographic algorithms and network-security protocols.
This course will enhance your theoretical and practical skills in understanding the cryptography and security terminologies and development techniques. You will be given the opportunity to study the methodologies for applying these fundamental concepts through the project with programming language.
The purpose of this course is to familiarize you with the technology of the security software development process and introduce you to apply the cryptography techniques for building real-world secure software systems.
Format of the course
The course consists of the lecture, several laboratory classes, and a semester long project. The lecture gives a broad overview of the subject. The project enables a more in-depth study of the selected sub-area. It involves software, hardware, or mixed implementation of cryptographic transformations. The laboratory classes make the student acquainted with practical features of selected commercial and public domain implementations of Internet security services.
Course team
Examiner: Z. Zhang
Moderator: R. Addie
Course overview
There are five study modules. Each module provides learning objectives, followed by sections for further discussion or presentation on each topic/item. At the end of each module there is a list of online reading references.
This is a PG level course, covering most advanced technologies/material in the selected areas. The main study resources will be the textbook and online readings listed at the end of each module in addition to the lecture slides/powerpoint presentations to be included in the course home page. External students need to have Internet access in order to read the online papers/articles and to do the assignments/projects.
CSC8419 – Cryptography and security 3
How to study this course
The purpose of the study modules is to outline the concepts/technologies to be covered. In order to fully understand this material, you will need to read the textbook and the corresponding readings listed at the end of each module.
The study modules have the following goals:
to summarize concepts or techniques;
to clarify certain points and concepts;
to point you to the right references for particular technologies/concepts. Approach the material as follows:
Step 1— Read the appropriate chapters of text and sections of the study modules, updated lecture slides (to be provided on line) and online references.
Step 2 — Perform the exercises/assignments. Do not wait untail the assignment due dates. The project need to be planned/started from the very beginning and they will take a few months to finish.
Study materials
This Introductory materials
The study modules
Online reading materials
Updated Lecture slide online
Software and laboratory requirements
Students will need OpenSSL and GPG installed on the Linux or Pretty Good Privacy (PGP) software on the Windows based systems in order to complete the secure communications exercises.
References
Pfleeger, “Security in Computing”, 3e, Prentice-Hall, 2003
J. Denning (ed), “Computers Under Attack — Intruders, Worms, and Viruses”, Addition-Wesley, 1990
CSC8419 – Cryptography and security
Course home page
You will find a web page for this course from your StudyDesk at:
The course home page is your primary resort of getting support for this course. On the course webpage, there are you will find
course materials and resources
electronic discussion facilities or forums
access to past examination papers if appropriate
There are an online assignment submission system on the course webpage. You will find that it is very convenient and secure to make submission of your all assessment items including assignments and/or final project report.
CSC8419 – Cryptography and security 5
Study schedule
Week Module Activity/Reading Assessment 1 Module 1:Security and its history 2, 3,4 Module 2: Foundations of Computer Security Reminder: End of week 4 is the last date to drop S1 courses without academic or financial penalty. 5 Module 3: Identification and Authentication 6,7 Module 4: Access control 8 Module 5: Security Models Reminder: End of week 4 is the last date to drop S1 courses without academic penalty. 9,10 Module 6: Cryptography 11,12, Module 7: Key Establishment 13 and Management
CSC8419 – Cryptography and security 7
Assessment
The course will be assessed as follows:
Assessment Weighting (%) Due Date 1 16 April 05, 2017 2 24 May 10, 2017 3 60 June 14, 2017
All assignments are a compulsory part of the assessment.
CSC8419 – Cryptography and security
Assignment 1 (16 marks)
Instructions
The submission file must be in the format of PDF.
Submission of the PDF file must be made via the online submission system on the course webpage.
Task 1 (3 marks)
What is the C.I.A.of security? Use examples to contrast security threats and attacks?
Task 2 (3 marks)
List 5 general design decisions that have to be made when constructing secure systems..
Task 3 (8 marks)
The smallest possible value for the modulus n for which the RSA algorithm works are p=11, q=3 . Use the most simplest example of RSA to do encryption. We would let
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Thus the plaintext message “HELLOWORD” would be represented by the set of integers
9,6,13,13,16,24,16,19,13,5 . Using the table above, please find ciphertext integers. Task 4 (2 marks)
Select a topic from the following list for your assignment 3, which is a reading research project. Write an objective of this reading research project (not more than 30 words)
Compare and Contrast the OpenSSL and GNU OpenGPG.
Understanding the Kerberos System and its Authentication Protocols
Generating Digital Certificates using OpenSSL
On the security and authentication of Web sites
CSC8419 – Cryptography and security 9
Assignment 2 (24 marks)
Instruction:
Submission file must be in PDF format, and all the steps of generating the required must be given in your assignment, including the OpenSSL commands or command lines.
The secret key must be included in your submission.
All information about your CSR and the certificate (Subject Name, Issuer Name, Signature Algorithm and Validate Period and Public Key) must be list out in your submission.
Task 1 ( 7 marks)
Use OpenSSL toolkit to generate your RSA key pairs: private key and a public key. Store your private key safe and email your public key to the lecturer. (The public key must be in the format of PEM; and the public key must be in the attachment, Subject of your email must be something like CSC8418 Ass2 00611111 – Public Key )
Task 2 (7 marks)
Download a cipher document and a cipher secret, which will be available on the course webpage. Then decrypt the cipher secret to obtain a secret key, and use the secret key to decrypt the cipher document. ( The secret key has been encrypted using your public key while the encrypted document has been encrypted by use of the secret key)
Task 3 (7 marks)
Generate a Certificate Sign Request (CSR), email it to the lecturer. Then download the certificate issued by the lecturer from the course webpage . (Information of the certificate such as Subject Name, Issuer Name, Signature Algorithm and Validate Period and Public Key can be extract out from the certificate)
Task 4 (3 marks)
Based on the topic you have chosen in Ass 1, write a scientific report of 2-3 pages. You need to find at least relevant articles from Books, Journals in the Library, or articles on the Internet to read, then summarise and write a concise report in your own words. In this draft version, you may only write all the statement sentences in each section.
A scientific report usually cover the following sections:
Abstract
Introduction
…Sections relevant to your
Conclusion
References
CSC8419 – Cryptography and security
Assignment 3 (60 marks)
Instructions:
Submission must be in the format of PDF, and be made via the online submission system.
The final report is an expanded version of your report in assignment 2. The final report must be 10-15 pages in length. The whole structure may not be too much different or slightly changed, but the contents must contain much more information and/or knowledge related with your selected topic.
The assignment will assess your research skill. You should develop a deep understanding through extensive reading, and then be able to formulate your own view on the topic and organize your presentation in a logical way.
Marking criteria for assignment 3:
Criteria Marks/100 Extensive Readings & Literature reviews. 50–64 A deep understanding shown in the report in 65–74 addition to requirements for ‘C’. Having a logical and clear presentation, in 75–84 addition to the requirements for ‘B’. All the requirements of ‘A’ with additional 85–100 originality & innovation.
Punjab Assignment Help
Buy Online Assignment Help services for IT Assignments with Punjab Assignment Help at [email protected]
0 notes
Text
CSC8419 | CRYPTOGRAPHY AND SECURITY
New Post has been published on https://punjabassignmenthelp.com/csc8419-cryptography-security/
CSC8419 | CRYPTOGRAPHY AND SECURITY
CSC8419 | CRYPTOGRAPHY AND SECURITY |INFORMATION TECHNOLOGY
IT Assignment Help
Essential information
The topics in the following list provide important information that will assist you with
your study. You can access the information on your StudyDesk through the ‘Essential
information (study materials)’
You will need your UConnect username and password to access the file. Please make sure
you read this information carefully before commencing your study.
Cryptography and security
Introduction
Welcome to this course Cryptography and Security. This course will give you a broad introduction to cryptography and its application to computer-network security services and mechanisms, such as confidentiality, digital signature, access control, and electronic payments. It also covers Analysis of software and hardware implementations of cryptographic algorithms and network-security protocols.
This course will enhance your theoretical and practical skills in understanding the cryptography and security terminologies and development techniques. You will be given the opportunity to study the methodologies for applying these fundamental concepts through the project with programming language.
The purpose of this course is to familiarize you with the technology of the security software development process and introduce you to apply the cryptography techniques for building real-world secure software systems.
Format of the course
The course consists of the lecture, several laboratory classes, and a semester long project. The lecture gives a broad overview of the subject. The project enables a more in-depth study of the selected sub-area. It involves software, hardware, or mixed implementation of cryptographic transformations. The laboratory classes make the student acquainted with practical features of selected commercial and public domain implementations of Internet security services.
Course team
Examiner: Z. Zhang
Moderator: R. Addie
Course overview
There are five study modules. Each module provides learning objectives, followed by sections for further discussion or presentation on each topic/item. At the end of each module there is a list of online reading references.
This is a PG level course, covering most advanced technologies/material in the selected areas. The main study resources will be the textbook and online readings listed at the end of each module in addition to the lecture slides/powerpoint presentations to be included in the course home page. External students need to have Internet access in order to read the online papers/articles and to do the assignments/projects.
CSC8419 – Cryptography and security 3
How to study this course
The purpose of the study modules is to outline the concepts/technologies to be covered. In order to fully understand this material, you will need to read the textbook and the corresponding readings listed at the end of each module.
The study modules have the following goals:
to summarize concepts or techniques;
to clarify certain points and concepts;
to point you to the right references for particular technologies/concepts. Approach the material as follows:
Step 1— Read the appropriate chapters of text and sections of the study modules, updated lecture slides (to be provided on line) and online references.
Step 2 — Perform the exercises/assignments. Do not wait untail the assignment due dates. The project need to be planned/started from the very beginning and they will take a few months to finish.
Study materials
This Introductory materials
The study modules
Online reading materials
Updated Lecture slide online
Software and laboratory requirements
Students will need OpenSSL and GPG installed on the Linux or Pretty Good Privacy (PGP) software on the Windows based systems in order to complete the secure communications exercises.
References
Pfleeger, “Security in Computing”, 3e, Prentice-Hall, 2003
J. Denning (ed), “Computers Under Attack — Intruders, Worms, and Viruses”, Addition-Wesley, 1990
CSC8419 – Cryptography and security
Course home page
You will find a web page for this course from your StudyDesk at:
The course home page is your primary resort of getting support for this course. On the course webpage, there are you will find
course materials and resources
electronic discussion facilities or forums
access to past examination papers if appropriate
There are an online assignment submission system on the course webpage. You will find that it is very convenient and secure to make submission of your all assessment items including assignments and/or final project report.
CSC8419 – Cryptography and security 5
Study schedule
Week Module Activity/Reading Assessment 1 Module 1:Security and its history 2, 3,4 Module 2: Foundations of Computer Security Reminder: End of week 4 is the last date to drop S1 courses without academic or financial penalty. 5 Module 3: Identification and Authentication 6,7 Module 4: Access control 8 Module 5: Security Models Reminder: End of week 4 is the last date to drop S1 courses without academic penalty. 9,10 Module 6: Cryptography 11,12, Module 7: Key Establishment 13 and Management
CSC8419 – Cryptography and security 7
Assessment
The course will be assessed as follows:
Assessment Weighting (%) Due Date 1 16 April 05, 2017 2 24 May 10, 2017 3 60 June 14, 2017
All assignments are a compulsory part of the assessment.
CSC8419 – Cryptography and security
Assignment 1 (16 marks)
Instructions
The submission file must be in the format of PDF.
Submission of the PDF file must be made via the online submission system on the course webpage.
Task 1 (3 marks)
What is the C.I.A.of security? Use examples to contrast security threats and attacks?
Task 2 (3 marks)
List 5 general design decisions that have to be made when constructing secure systems..
Task 3 (8 marks)
The smallest possible value for the modulus n for which the RSA algorithm works are p=11, q=3 . Use the most simplest example of RSA to do encryption. We would let
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Thus the plaintext message “HELLOWORD” would be represented by the set of integers
9,6,13,13,16,24,16,19,13,5 . Using the table above, please find ciphertext integers. Task 4 (2 marks)
Select a topic from the following list for your assignment 3, which is a reading research project. Write an objective of this reading research project (not more than 30 words)
Compare and Contrast the OpenSSL and GNU OpenGPG.
Understanding the Kerberos System and its Authentication Protocols
Generating Digital Certificates using OpenSSL
On the security and authentication of Web sites
CSC8419 – Cryptography and security 9
Assignment 2 (24 marks)
Instruction:
Submission file must be in PDF format, and all the steps of generating the required must be given in your assignment, including the OpenSSL commands or command lines.
The secret key must be included in your submission.
All information about your CSR and the certificate (Subject Name, Issuer Name, Signature Algorithm and Validate Period and Public Key) must be list out in your submission.
Task 1 ( 7 marks)
Use OpenSSL toolkit to generate your RSA key pairs: private key and a public key. Store your private key safe and email your public key to the lecturer. (The public key must be in the format of PEM; and the public key must be in the attachment, Subject of your email must be something like CSC8418 Ass2 00611111 – Public Key )
Task 2 (7 marks)
Download a cipher document and a cipher secret, which will be available on the course webpage. Then decrypt the cipher secret to obtain a secret key, and use the secret key to decrypt the cipher document. ( The secret key has been encrypted using your public key while the encrypted document has been encrypted by use of the secret key)
Task 3 (7 marks)
Generate a Certificate Sign Request (CSR), email it to the lecturer. Then download the certificate issued by the lecturer from the course webpage . (Information of the certificate such as Subject Name, Issuer Name, Signature Algorithm and Validate Period and Public Key can be extract out from the certificate)
Task 4 (3 marks)
Based on the topic you have chosen in Ass 1, write a scientific report of 2-3 pages. You need to find at least relevant articles from Books, Journals in the Library, or articles on the Internet to read, then summarise and write a concise report in your own words. In this draft version, you may only write all the statement sentences in each section.
A scientific report usually cover the following sections:
Abstract
Introduction
…Sections relevant to your
Conclusion
References
CSC8419 – Cryptography and security
Assignment 3 (60 marks)
Instructions:
Submission must be in the format of PDF, and be made via the online submission system.
The final report is an expanded version of your report in assignment 2. The final report must be 10-15 pages in length. The whole structure may not be too much different or slightly changed, but the contents must contain much more information and/or knowledge related with your selected topic.
The assignment will assess your research skill. You should develop a deep understanding through extensive reading, and then be able to formulate your own view on the topic and organize your presentation in a logical way.
Marking criteria for assignment 3:
Criteria Marks/100 Extensive Readings & Literature reviews. 50–64 A deep understanding shown in the report in 65–74 addition to requirements for ‘C’. Having a logical and clear presentation, in 75–84 addition to the requirements for ‘B’. All the requirements of ‘A’ with additional 85–100 originality & innovation.
Punjab Assignment Help
Buy Online Assignment Help services for IT Assignments with Punjab Assignment Help at [email protected]
0 notes
Photo

The Internet Engineering Task Force announced the approval of TLS 1.3
The IETF has been analyzing proposals for TLS 1.3 since 2014; the final release is the result of the work on 28 drafts.
The Internet Engineering Task Force (IETF) has finally announced the approval of TLS 1.3, the new version of the Transport Layer Security traffic encryption protocol.
The TLS protocol was designed to allow client/server applications to communicate over the Internet in a secure way preventing message forgery, eavesdropping, and tampering, information security training analysts said.
TLS 1.2 and TLS 1.3 are different; the new version introduces many major features to improve performance and to make the protocol more resilient to certain attacks such as the ROBOT technique.
Below the description of one of the most important changes introduced with TLS 1.3:
The list of supported symmetric algorithms has been pruned of all algorithms that are considered legacy. Those that remain all use Authenticated Encryption with Associated Data (AEAD) algorithms. The ciphersuite concept has been changed to separate the authentication and key exchange mechanisms from the record protection algorithm (including secret key length) and a hash to be used with the key derivation function and HMAC.
A 0-RTT mode was added, saving a round-trip at connection setup for some application data, at the cost of certain security properties.
Static RSA and Diffie-Hellman cipher suites have been removed; all public-key based key exchange mechanisms now provide forward secrecy.
All handshake messages after the ServerHello are now encrypted. The newly introduced EncryptedExtension message allows various extensions previously sent in clear in the ServerHello to also enjoy confidentiality protection from active attackers.
The key derivation functions have been re-designed. The new design allows easier analysis by cryptographers due to their improved key separation properties. The HMAC-based Extract-and-Expand Key Derivation Function (HKDF) is used as an underlying primitive.
The handshake state machine has been significantly restructured to be more consistent and to remove superfluous messages such as ChangeCipherSpec (except when needed for middlebox compatibility).
Elliptic curve algorithms are now in the base spec and new signature algorithms, such as ed25519 and ed448, are included. TLS 1.3 removed point format negotiation in favor of a single point format for each curve.
Other cryptographic improvements including the removal of compression and custom DHE groups, changing the RSA padding to use RSASSA-PSS, and the removal of DSA.
The TLS 1.2 version negotiation mechanism has been deprecated in favor of a version list in an extension. This increases compatibility with existing servers that incorrectly implemented version negotiation.
Session resumption with and without server-side state as well as the PSK-based ciphersuites of earlier TLS versions have been replaced by a single new PSK exchange.
TLS 1.3 deprecates old cryptographic algorithms entirely, this is the best way to prevent the exploiting of vulnerabilities that affect the protocol and that can be mitigated only when users implement a correct configuration.
Information security training researchers discovered several critical issues in the protocol that have been exploited in attacks.
The OpenSSL Project announced support for TLS 1.3 when it unveiled OpenSSL 1.1.1, which is currently in alpha.
One of the problems when dealing with TLS is the role of so-called middleboxes, many companies need to inspect the traffic for security purposes and TLS 1.3 makes it very hard.
“The answer to why TLS 1.3 hasn’t been deployed yet is middleboxes: network appliances designed to monitor and sometimes intercept HTTPS traffic inside corporate environments and mobile networks. Some of these middleboxes implemented TLS 1.2 incorrectly and now that’s blocking browsers from releasing TLS 1.3. However, simply blaming network appliance vendors would be disingenuous.” reads a post by information security training professionals that explained the difficulties of mass deploying for the TLS 1.3.
As per tests conducted by the IETF working group in December 2017, there was around a 3.25 percent failure rate of TLS 1.3 client connections.
0 notes
Text
COIT20262 | ADVANCE NETWORK SECURITY | INFORMATION TECHNOLOGY
Order NowQuestion 1. Analysis of Protocols with Wireshark [14 marks]
Objective: Gain a good understanding of common Internet protocols as well as using packet capture software (Wireshark)
The file a01-assignment-1-question-1-capture.pcap on Moodle contains packets
captured in an exchange between several computers.
The capture was performed in an internet where all subnets used a /24 mask. The capture was performed on interface eth1 on a computer with the following details:
Use the file and the above information to answer the following sub-questions. Do not try to guess answers; use only the above information, the capture file and your knowledge of networking and security to find the answers.
Several applications were used on several different computers. Complete the table to summarise the applications in use in the network. The columns are:
Application name or protocol, e.g. Web, SSH, ?, where ? means cannot determine from the capture.
Time of use. The time when the application is in use. Round to the nearest second. Use a range, e.g. 0-4 seconds.
The first row includes example values of selected columns. Complete (or edit) and add further rows as necessary. [4 marks]
Address Table
Some of the computers in the network have domain names as well as IP addresses. List the IP address and domain name of each computer with a domain name, and give the packet number where you found the domain name. [2 marks]
Briefly explain how a TCP connection starts (or opens), and how it completes (or closes), using the 1st TCP connection from the capture (and your message sequence diagram above) as an example. [2 marks]
Some of the computers in the network are running a web server. Choose one of the computers and then list which files exist on the web server, and which files do not exist on the web server. Explain how you know the files (that is, refer to the packet number(s) in the capture). [2 marks]
Consider the 1st TCP connection in the capture (which starts at packet number 3 in the capture file). Draw a message sequence diagram that illustrates all packets in that TCP connection. A message sequence diagram uses vertical lines to represent events that happen at a computer over time (time is increasing as the line goes down). Addresses of the computers/software are given at the top of the vertical lines. Horizontal or sloped arrows are used to show messages (packets) being sent between computers. Each arrow should be labelled with the protocol, packet type and important information of the message. Examples of message sequence diagrams are given in workshops. Note that you do not need to show the packet times, and the diagram does not have to be to scale. [2 marks
What is the password? [0 marks – this is challenge, but worth no marks. Don’t tell other students the answer if you find it.]
Marking Scheme
All connections are listed correctly: 4 marks. Minor mistakes in few connections: 3 marks. Missing few connections and/or multiple mistakes: 2 marks. Missing multiple connections and/or many mistakes: 1 marks. Most connections wrong: 0 marks.
2 marks for service table; 2 marks for address table. All entries included: 2 marks. Some entries missing or wrong: 1 mark. Most entries missing or wrong: 0 marks.
All packets clearly shown: 2 marks: Minor mistakes: 1 mark. Multiple packets wrong and/or multiple mistakes: 0 marks.
All computers/domains listed: 2 marks. One mistake: 1 mark. More than one mistake: 0 marks.
Clear explanation of connection open and close: 2 Mistakes or wrong explanation of one of the steps: 1 mark. Multiple mistakes or wrong explanation of both steps: 0 marks.
All files (both those that exist and those that don’t exist) listed with packet numbers referenced: 2 mark. Some minor mistakes or missing file: 1 mark. Multiple mistakes or multiple missing files: 0 marks.
This sub-question is worth 0 marks. It has no impact on your total marks
Question 2. Web Application Attacks [8 marks]
Objective: Understand how real web application attacks work, and methods for mitigating them.
For this question you must use virtnet (as used in the workshops) to study web application attacks. This assumes you have already setup and are familiar with virtnet. See Moodle and workshop instructions for information on setting up and using virtnet, deploying the website, and performing the attack.On node4, add a user to the grading web application with username set to your student ID, and password set to your first name
Perform an unvalidated redirect attack, such that the attacker steals your username/password.
While performing the attack, take a screenshot of the window showing the stolen username/password.
After performing and understanding the attack, answer the following sub-questions.
Give a short description of an unvalidated redirect attack, referring to the steps you performed in the attack and the vulnerability your attack exploited. [2 marks]
Assuming a website must use redirects, recommend a technique that can be used to minimise the impact of unvalidated redirect attacks. [1 mark]
In the attack you performed in virtnet, describe what methods the attacker used (other than an unvalidated redirect) and how the attacker benefits from the attack (that is, what do they gain and how?). [3 marks]
Include the screenshot of the stolen username/password obtained during the attack. [2 marks]
Marking Scheme
Clear description, demonstrating understanding of the attack: 2 marks. Some mistakes or misunderstandings: 1 mark. Many mistakes and/or lack of understanding: 0 marks.
One relevant techniques clearly described: 1 mark. No relevant techniques or lack of understanding of techniques: 0 marks.
Clear description of methods and benefits: 3 Minor mistakes or misunderstandings in description: 2 marks. Missing methods or benefits; major mistakes: 1 mark. Lack of understanding of both methods and benefits, or no relevant methods/benefits: 0 marks.
Screenshot showing relevant information: 2 marks. No screenshot or not showing relevant information: 0 marks.
Question 3. Cryptographic Operations with OpenSSL [9 marks]
Objective: understand and apply different cryptographic primitives, use common encryption software (OpenSSL), and demonstrate secure procedures for key management.
Your task is to use OpenSSL to perform a set of cryptographic operations. When performing cryptographic operations you must be very careful, as a small mistake (such as a typo) may mean the result is an insecure system. Read the instructions carefully, understand the examples, and where possible, test your approach (e.g. if you encrypt a file, test it by decrypting it and comparing the original to the decrypted).
Perform the following steps:
Generate your own RSA 4096-bit key pair. Use the public exponent of 65537. Save your key pair as pem.
Extract your public key and save it as pem.
Create a Bash shell script that contains all OpenSSL commands you used on the terminal in the previous steps, as well as the following steps, and save them in a text file called bash. You should copy-and-paste the actual commands you used from the terminal as they may be used to test your submission. As this script contains commands from steps (a), (b), (d), (e), (f) and (g), you should run those commands first and then put them in your script file, then do them again using the final script.
Sign your Bash shell script using SHA1, saving the signature as bin.
Generate a 256 bit random value using OpenSSL. This value will be used as a secret key. Store the key as a 64 hex digit string in a file txt.
Encrypt your Bash shell script using AES-256-CBC and the key generated in step (e). Use and IV of all 0’s (that is, 32 0’s). Save the ciphertext as ciphertext.bin.
Encrypt your txt file using RSA so that only the Unit Coordinator can view the contents. Save the encrypted key as secretkey.bin.
Multiple files are output from the above steps. You must submit the following on Moodle:
The file names must be exactly as listed above. Use lowercase for all files and double-check the extensions (be careful that Windows doesn’t change the extension).
Examples of the OpenSSL operations needed to complete this task, as well as a Bash script, are on Moodle.
Marking Scheme
Once files are submitted, they will be decrypted/verified using the reverse operations of what you were expected to do.
If your files successfully decrypt/verify, and the commands (commands.bash) submitted are correct, then you will receive 9 marks.
If your files successfully decrypt/verify, but the commands contain errors, then you will receive between 6 and 8 marks, depending on the severity of the errors (e.g. small typo vs wrong command).
If your files do NOT successfully decrypt/verify, then your commands will be reviewed to determine what mistakes you made. You will receive between 0 and 7 marks, depending on the severity of the errors.
Up to 6 marks may be deducted for incorrect submissions (e.g. not all files submitted, additional files submitted, wrong files submitted, wrong filenames).
Question 4. Malware Research [9 marks]
Objective: research real malware and gain an understanding of the techniques used in the malware and countermeasures
Ransomware In addition it is estimated there are many more ransomware attacks not being made public, e.g. companies and users paying a ransom but not disclosing the attack. The prevalence of ransomware, and the impact it has on organisations, has led to the discussion of ransomware insurance. Your task is to study what is ransomware, what are the challenges and possible countermeasures, and report on it in an easy-to-understand manner. You must write a short report on ransomware that addresses at least the following issues/topics
What is ransomware?
What are examples of ransomware attacks? For example, names of malware, organisations attacked
What are common methods of infection by ransomware?
What is the payload in ransomware? What cryptographic techniques are commonly used?
How is the ransom obtained? What is the role of Bitcoin (or other cryptocurrencies)
What are the options for users once infected
What countermeasures should users and organisations take to prevent ransomware attacks?
The above is a guide of what should be covered. You may also address other issues, and you don’t have to address them in the order listed.
There is no minimum/maximum length of the report. As a guide 1 to 2 pages of text (not including pictures) may be appropriate. In addition you may include your own pictures (not pictures from other sources) if they are useful in explaining ransomware. Including pictures from other sources, or including pictures that do not help with the explanation will not gain marks and may lead to reduced marks.
You may assume the audience of the report has similar background on network security as you. You should refer to techniques and concepts covered in the unit, and give sufficient technical detail to demonstrate you understand ransomware
At least five (5) references should be included and follow the Harvard (author-date) style.
References may be a mix of websites, textbooks and conference/journal articles
Marking Schem
1 mark will be given for each of the seven (7) topics/issues ((a) to (g)) if they are satisfactorily explained
1 mark will be given if the report is well presented, including: well formatted, few spelling/grammar mistakes.
1 mark will be given if the references are sufficient and appropriate. Inclusion of inappropriate/irrelevant references will result in 0 marks.
Up to 6 marks may be deducted if the report is difficult to read (e.g. due to grammar), includes information irrelevant to the question, and/or includes material (pictures, quotes) taken from other sources.
Order Now
#assignment help#information technology assignment#assignment help melbourne#human resources management assignment#international finance assignment help
0 notes
Photo
New Post has been published on https://serial-key.com/2018/02/02/mamp-pro-crack-win-mac/
MAMP PRO Crack Is Here [Win 3.3.1.18234/Mac 4.2.1]
MAMP PRO License Key Download
MAMP PRO Crack Free Download at @Serial-Key. It is a paid application made to the assembly and runs the surroundings Apache, PHP ánd MySQL with no need to configure advanced adjustments or going scripts. MAMP deploys a simple toolset for demanded in web page maintenance and tésting.
Introduction to MAMP PRO Crack:
MAMP PRO Serial Key & KeyGen is for builders, programmers, and professional web designers. However, having less support for more complex elements places it much behind its direct rivals, even though somé can be found in the Pro edition. While setting up each component separately would have a considerable amount óf period, deploying them all simultaneously in thé MAMP bundle is fast and straightforward.
MAMP PRO Patch published beneath the GNU Public License, and só could be freely distributed within the restrictions of the permit MAMP an area server natural environment is your personal computer installs in secs. As á Linux distributión, MAMP is á blend of free computer software, and many others are provided cost-free. The use of any standard installing Apache operating on your system is not really at risk. It is free of charge and simple to install. It is usually simple to establish and maintain its development environment próvies. Also, Check WampServer.
MAMP PRO & Crack Features:
GUI is much-improved finder sidebar
Integrated editor to edit the source files and images, PDF
Preview mobile site with a specialized application for iOS
Component updates for popular applications: PHP, phpMyAdmin, CURL and OpenSSL
Hosted searchable browser with preview site
Save and restore server settings for individual hosts
Customizable toolbars for frequently needed functions
Manage all project assets with new assets windows
Multi-PHP runs different versions of PHP at the same time. MAMP Pro always offers multiple versions of PHP.
Virtual Server: You can use any number of virtual servers without the risk of affecting your operating system and test set
Dynamic DNS allows external access. With MAMP PRO, you can quickly make your local server, dynamic DNS provider connected to the Internet.
MAMP PRO Incl Serial Key Detail:
Files: MAMP PRO
Windows: 329 MB
Mac OS version: 346 MB
Category: Developer Tools
Crack Include: Pro
Requirements: Windows 10, Windows 8.1 or Windows 7
Platform Mac: Intel, 64-bit OS X 10.10 or later processor.
ScreenShots:
How To Crack MAMP PRO Patch Latest Version?
Download & Install MAMP PRO.
Run the application.
Open the ‘serial key.txt’ file and use the given key to activate the application.
Mac Users download mac file.
Extract the rar file and open dmg file and install installer.pkg file.
Enjoy!
Note: Don’t update if asked. Moreover, Pass the For UnZipping/RaR is Serial-Key.CoM
Download Now Mac/Win
0 notes
Text
SECCON 2017 Online
12/9-10の24時間、SECCONオンライン予選がありました。海外勢も含め計1028チームが参加していたようです。結果は53位でした。国内チームのなかでは12位なので、2月に開催される国内決勝大会へ進めそうです。
putchar music - Programming 100
問題文はつぎのとおり。
This one line of C program works on Linux Desktop. What is this movie's title? Please answer the flag as SECCON{MOVIES_TITLE}, replace all alphabets with capital letters, and spaces with underscores.
main(t,i,j){unsigned char p[]="###>5|(int)(t*x));}}
与えられたソースをコンパイルします。include文を追加して、-lm オプションを付けてコンパイル。
#include #include
main(t,i,j){unsigned char p[]="###>5|(int)(t*x));}}
$ gcc a.c -lm
実行すると標準出力に大量のデータが流れてきます。これを再生すると映画の音楽が流れてきます。PCの環境によって音が鳴ったり鳴らなかったり?
$ a.out | aplay 再生中 raw データ 'stdin' : Unsigned 8 bit, レート 8000 Hz, モノラル
flagは SECCON{STAR_WARS}
SHA-1 is dead - Crypto 100
問題文はつぎのとおり。
SHA-1 is dead
http://sha1.pwn.seccon.jp/ Upload two files satisfy following conditions:
file1 != file2 SHA1(file1) == SHA1(file2) SHA256(file1) SHA256(file2) 2017KiB 2017KiB
1KiB = 1024 bytes
SHA1衝突が発生する2つのファイルを作成するようです。 SHA1といえば、ハッシュ衝突するファイルが実際に生成されたと話題になった件ですね。
https://shattered.io/
SHA1が衝突するファイルは既にあるので、あとはファイルサイズの条件を満たせばOK。 ハッシュ値計算の仕組みから、ハッシュ値が同じ2つのファイルに同じデータを追記した場合、追記後のファイルのハッシュは再び一致するはず。 上記サイトから衝突が発生した2つのPDFファイルをダウンロードします。
-rwxrwxrwx 1 root root 422435 12月 9 17:12 shattered-1.pdf -rwxrwxrwx 1 root root 422435 12月 9 17:12 shattered-2.pdf
2017KiBより大きく2018KiBより小さいファイルが欲しいのでサイズを計算する。
422435 bytes / 1024 = 412 KiB (shattered.ioのPDFファイルサイズ) 2017 KiB - 412 KiB = 1605 KiB (追記すべきデータのサイズ)
あとは適当なダミーデータをPDFに追記するだけ。
$ python -c "print '\xff'*1024*1605" > ff $ cat shattered-1.pdf ff > 1.pdf $ cat shattered-2.pdf ff > 2.pdf
$ ls -lrt 合計 6468 -rwxrwxrwx 1 root root 422435 12月 9 17:12 shattered-1.pdf -rwxrwxrwx 1 root root 422435 12月 9 17:12 shattered-2.pdf -rwxrwxrwx 1 root root 1643521 12月 9 17:24 ff -rwxrwxrwx 1 root root 2065956 12月 9 17:24 1.pdf -rwxrwxrwx 1 root root 2065956 12月 9 17:25 2.pdf
$ sha1sum 1.pdf 2.pdf 82a7ab1ec5d028f3956b6fe92c8ed594bfb41d92 1.pdf 82a7ab1ec5d028f3956b6fe92c8ed594bfb41d92 2.pdf
$ sha256sum 1.pdf 2.pdf f240399f72872cccc4e24fd91431bc604b5668cf7ba7e6a1ee35ad58edd43f40 1.pdf 89873267dd5f3da340e1304409aecfc1bcbd89e5428192834f6f1cc7a6902a11 2.pdf
SHA1が衝突する2つのファイルが得られました。これを問題サイトにサブミットして終了。 flagは SECCON{SHA-1_1995-2017?}
Powerful_Shell - Binary 300
問題文はつぎのとおり。
Crack me. powerful_shell.ps1-1fb3af91eafdbebf3b3efa3b84fcc10cfca21ab53db15c98797b500c739b0024
与えられたファイルはこんな感じ。Power Shellのスクリプトが難読化されている?
$ECCON=""; $ECCON+=[char](3783/291); $ECCON+=[char](6690/669); $ECCON+=[char](776-740); $ECCON+=[char](381-312); $ECCON+=[char](403-289); $ECCON+=[char](-301+415); $ECCON+=[char](143-32); $ECCON+=[char](93594/821); $ECCON+=[char](626-561); $ECCON+=[char](86427/873); $ECCON+=[char](112752/972); $ECCON+=[char](43680/416); $ECCON+=[char](95127/857);
(省略)
$ECCON+=[char](873-863); $ECCON+=[char](721-708); $ECCON+=[char](803-793); $ECCON+=[char](10426/802); Write-Progress -Activity "Extracting Script" -status "20040" -percentComplete 99; $ECCON+=[char](520-510); Write-Progress -Completed -Activity "Extracting Script";.([ScriptBlock]::Create($ECCON))
Windowsのデフォルトだとスクリプト実行がポリシーで制限されている。まずはスクリプトを実行可能にするために、PowerShellを管理者権限で起動して以下のコマンドを実行する。
PS C:\work> Set-ExecutionPolicy RemoteSigned
スクリプト実行するとSECCONの画像が表示されるが何かのチェックで終了している模様。
難読化されているといっても所詮はスクリプトなので最後のほうでeval的なことをしているのではと思う。 それらしいところを探して、デコードされて読みやすくなった状態のコード(があるはずと想定して)を出力してみる。
最後の行を変更してファイル出力
(変更前) Write-Progress -Completed -Activity "Extracting Script";.([ScriptBlock]::Create($ECCON))
(変更後) Write-Progress -Completed -Activity "Extracting Script";[ScriptBlock]::Create($ECCON)|Out-File -FilePath C:\work\output.ps1 -Encoding Ascii
再度実行すると、デコードされたスクリプトが得られる。ちなみにこのスクリプト、デバッガによる実行を検知すると終了するようになっている。
PS C:\work> .\powerful_shell.ps1
といってもまだ難読化されているのだが。 シンタックスエラーがあるので改行コードを若干修正すると実行できる。 また、処理中に実行環境のチェックをしているのでその部分をスキップして実行するとピアノの鍵盤が。実際に音もなるらしい?(自分の環境ではうまくならなかった)
処理の後半では、正しいキー入力(ピアノ演奏)を基に生成した鍵を使って、XORでデータ復号している。
(省略)
$text=@" YkwRUxVXQ05DQ1NOE1sVVU4TUxdTThBBFVdDTUwTURVTThMqFldDQUwdUxVRTBNEFVdAQUwRUxtT TBEzFVdDQU8RUxdTbEwTNxVVQUNOEFEVUUwdQBVXQ0NOE1EWUUwRQRtVQ0FME1EVUU8RThdVTUNM EVMVUUwRFxdVQUNCE1MXU2JOE0gWV0oxSk1KTEIoExdBSDBOE0MVO0NKTkAoERVDSTFKThNNFUwR FBVINUFJTkAqExtBSjFKTBEoF08RVRdKO0NKTldKMUwRQBc1QUo7SlNgTBNRFVdJSEZCSkJAKBEV QUgzSE8RQxdMHTMVSDVDSExCKxEVQ0o9SkwRQxVOE0IWSDVBSkJAKBEVQUgzThBXFTdDRExAKhMV Q0oxTxEzFzVNSkxVSjNOE0EWN0NITE4oExdBSjFMEUUXNUNTbEwTURVVSExCKxEVQ0o9SkwRQxVO EzEWSDVBSkJAKBEVQUgzThAxFTdDREwTURVKMUpOECoVThNPFUo3U0pOE0gWThNEFUITQBdDTBFK F08RQBdMHRQVQUwTSBVOEEIVThNPFUNOE0oXTBFDF0wRQRtDTBFKFU4TQxZOExYVTUwTSBVMEUEX TxFOF0NCE0oXTBNCFU4QQRVBTB1KFU4TThdMESsXQ04TRBVMEUMVThNXFk4TQRVNTBNIFUwRFBdP
(省略)
E0QVTUwTSBVMEUYXTxFAF0NCE0oXTBNCFU4QFhVBTB1KFU4TQBdMEUIXQ04TRBVMEUAVThNDFkFM EUobTBNDFUwRFBdAThNIFUITQRdME0wVQU8RShdMHUMVThMoF0wRNhdDThNEFUwRRhVOEzEWQUwR ShtME0EVTBFGF0BOE0gVQhNDF0wTVxVBTxFKF0wdQxVOEygXTBE2FxROE10VShZOTBFTF2E= "@
$plain=@() $byteString = [System.Convert]::FromBase64String($text) $xordData = $(for ($i = 0; $i -lt $byteString.length; ) { for ($j = 0; $j -lt $f.length; $j++) { $plain+=$byteString[$i] -bxor $f[$j] $i++ if ($i -ge $byteString.Length) { $j = $f.length } } }) iex([System.Text.Encoding]::ASCII.GetString($plain))
キーストローク入力を照合しているコード部分を読んで鍵を特定する。
$f="hhjhhjhjkjhjhf"
さらに、復号後のデータをファイル出力するようにスクリプトを修正して実行。
(変更前) iex([System.Text.Encoding]::ASCII.GetString($plain))
(変更後) [System.Text.Encoding]::ASCII.GetString($plain)|Out-File -FilePath C:\work\output3.ps1 -Encoding Ascii
そうして得られた復号後のスクリプトはまだ難読化されてる。。。変数名が記号になっているのでややこしい。
${;}=+$();${=}=${;};${+}=++${;};${@}=++${;};${.}=++${;};${[}=++${;}; ${]}=++${;};${(}=++${;};${)}=++${;};${&}=++${;};${|}=++${;}; ${"}="["+"$(@{})"[${)}]+"$(@{})"["${}${|}"]"$(@{})"["${@}\({}"]+"\)?"[${+}]+"]"; ${;}"".("$(@{})"["${}${[}"]"$(@{})"["${}${(}"]"$(@{})"[${}]+"$(@{})"[${[}]+"$?"[${+}]+"$(@{})"[${.}]); ${;}"$(@{})"["${}${[}"]"$(@{})"[${[}]+"${;}"["${@}${)}"];"${"}${.}${(}+${"}${ (省略)
また最後の行に着目して、デコード後のスクリプトを出力する。
(変更前) ${;}="$(@{})"["${}${[}"]"$(@{})"[${[}]+"${;}"["${@}${)}"];"${"}${.}${(}+${"}${ (省略)
(変更後) ${;}="$(@{})"["${}${[}"]"$(@{})"[${[}]+"${;}"["${@}${)}"]; Write-Host "${"}${.}${(}+\({"}\)
出力結果はこちら。またまた難読化されてる。
[CHar]36+[CHar]69+[CHar]67+[CHar]67+[CHar]79+[CHar]78+[CHar]61+[CHar]82+[CHar]101+[CHar]97+[CHar]100+[CHar]45+[CHar]72+[CHar]111+[CHar]115+[CHar]116+[CHar]32+[CHar]45+[CHar]80+[CHar]114+[CHar]111+[CHar]109+[CHar]112+[CHar]116+[CHar]32+[CHar]39+[CHar]69+[CHar]110+[CHar]116+[CHar]101+[CHar]114+[CHar]32+[CHar]116+[CHar]104+[CHar]101+[CHar]32+[CHar]112+[CHar]97+[CHar]115+[CHar]115+[CHar]119+[CHar]111+[CHar]114+[CHar]100+[CHar]39+[CHar]13+[CHar]10+[CHar]73+[CHar]102+[CHar]40+[CHar]36+[CHar]69+[CHar]67+[CHar]67+[CHar]79+[CHar]78+[CHar]32+[CHar]45+[CHar]101+[CHar]113+[CHar]32+[CHar]39+[CHar]80+[CHar]48+[CHar]119+[CHar]69+[CHar]114+[CHar]36+[CHar]72+[CHar]51+[CHar]49+[CHar]49+[CHar]39+[CHar]41+[CHar]123+[CHar]13+[CHar]10+[CHar]9+[CHar]87+[CHar]114+[CHar]105+[CHar]116+[CHar]101+[CHar]45+[CHar]72+[CHar]111+[CHar]115+[CHar]116+[CHar]32+[CHar]39+[CHar]71+[CHar]111+[CHar]111+[CHar]100+[CHar]32+[CHar]74+[CHar]111+[CHar]98+[CHar]33+[CHar]39+[CHar]59+[CHar]13+[CHar]10+[CHar]9+[CHar]87+[CHar]114+[CHar]105+[CHar]116+[CHar]101+[CHar]45+[CHar]72+[CHar]111+[CHar]115+[CHar]116+[CHar]32+[CHar]34+[CHar]83+[CHar]69+[CHar]67+[CHar]67+[CHar]79+[CHar]78+[CHar]123+[CHar]36+[CHar]69+[CHar]67+[CHar]67+[CHar]79+[CHar]78+[CHar]125+[CHar]34+[CHar]13+[CHar]10+[CHar]125|iex
再度、最後の箇所で難読化解除後のスクリプトを出力するよう変更。
実行して得られた結果がこちら。ようやくゴール!
$ECCON=Read-Host -Prompt 'Enter the password' If($ECCON -eq 'P0wEr$H311'){ Write-Host 'Good Job!'; Write-Host "SECCON{$ECCON}" }
flagは SECCON{P0wEr$H311}
Ps and Qs - Crypto 200
問題文はつぎのとおり。
Decrypt it. psqs1-0dd2921c9fbdb738e51639801f64164dd144d0771011a1dc3d55da6fbcb0fa02.zip (pass:seccon2017)
与えられたZipファイルの中身は暗号文と公開鍵2つです。
Archive: psqs1-0dd2921c9fbdb738e51639801f64164dd144d0771011a1dc3d55da6fbcb0fa02.zip Length Date Time Name –—— -— -— ---- 512 12-09-17 01:33 cipher 800 12-09-17 01:33 pub1.pub 800 12-09-17 01:33 pub2.pub
$ openssl rsa -in pub1.pub -text -pubin Public-Key: (4096 bit) Modulus: 00:cf:cf:bb:ee:a7:df:14:3a:8a:c2:08:b1:aa:1d: 2f:86:54:5a:c4:cb:58:8c:94:a3:fb:1c:14:ad:91: a4:f0:b9:36:15:7c:5a:4b:86:9c:18:a8:b8:64:f4: (省略)
$ openssl rsa -in pub2.pub -text -pubin Public-Key: (4096 bit) Modulus: 00:bb:33:cc:7f:cc:8e:ca:f3:bf:9e:d9:5c:58:37: 92:e1:ec:6b:80:ee:87:5e:c2:06:4d:bc:f0:75:95: c8:34:49:23:bf:53:65:24:d4:e0:a7:55:74:c7:79: (省略)
暗号文ひとつに対してわざわざ公開鍵ふたつを渡しているのが気になります。と思いつつ調べているとこんなのを見つけてしまいました。
https://github.com/Ganapati/RsaCtfTool
RsaCtfTool RSA tool for ctf - uncipher data from weak public key and try to recover private key Automatic selection of best attack for the given public key
一瞬で終了、ラッキー。
$ ~/RsaCtfTool/RsaCtfTool.py –publickey "*.pub" –private > private $ openssl rsautl -decrypt -inkey private -in cipher -out plain.txt $ cat plain.txt SECCON{1234567890ABCDEF}
flagは SECCON{1234567890ABCDEF}
JPEG file - Binary 100
問題文はつぎのとおり。
Read this JPEG is broken. It will be fixed if you change somewhere by 1 bit.
ファイルが壊れていると言っているので、修復すればflagが表示されるということでしょう。
JPEG修復してくれるというツールを適当に探してきて実行しただけ。怪しげなツールだと困るので、ツール実行前にスナップショットをとっておいて後で戻しておきました。こういう時に仮想マシンは便利です。
とても楽しかったです。SECCONは毎年楽しみにしていて欠かさず参加するようにしている重要イベントです。予選突破できたのもうれしい。 運営のみなさん、チームのみなさん、まわりのいろいろな人に感謝です。ありがとうございました。
0 notes